Brevet FR2590703A1 — publié le 19870529

PROCEDE DE RECONNAISSANCE DE CARACTERES EN TEMPS REEL, NOTAMMENT SUR DES OBJETS EN DEFILEMENT RAPIDE La présente invention a pour objet un procé- dé de reconnaissance de caractères en temps réeL, no- tamment sur des objets en défilement rapide. Les ca- ractères à reconnaître peuvent être quelconques, et notamment numériques ou alphanumériques. Le procédé de l'invention est du type de ceux dans lesquels un caractère est lu par un moyen de saisie, puis traité avant d'être reconnu par comparai- son à des modèles de caractères contenus dans une bi- bliothèque. Il s'applique en particulier à la recon- naissance de caractères, imprimés ou manuscrits, d'une page de document. Il s'applique également, par exem- pIe, en sidérurgie pour la reconnaissance de produits métallurgiques défilant sur un tapis roulant et por- tant chacun un code alphanumérique gravé. De nombreux procédés ont déjà été proposés pour reconnaître des caractères, et en particulier des caractères alphanumériques. Dans la plupart des procé- dés, le moyen de saisie du caractère est une caméra vidéo. Un tel moyen de saisie peut être adapté à la saisie de caractère fixes, mais présente des inconvé- nients pour La saisie de caractères défilant sous La caméra. En effet, on constate sous éclairage continu un phénomène de traînée et de fl-ou dû à la vitesse du produit défilant; par ailleurs, il faut alors sélec- tionner les images délivrées par la caméra vidéo pour en trouver une qui contienne entièrement le caractère. Cette analyse préliminaire est coûteuse en temps et ne permet pas de faire de la reconnaissance de caractère en temps réel. On connaît également des systèmes de recon- naissance dans lesquels le moyen de saisie est une tablette graphique. Dans ce cas, le caractère est re- connu immédiatement après avoir été tracé sur la ta- blette graphique. De tels systèmes ont donc des appli- cations limitées. La rapidité de reconnaissance d'un caractè- re dépend du moyen de saisie utilisé, mais aussi, et surtout, du traitement effectué sur l'image délivrée par ce moyen de saisie. De manière générale, dans les systèmes de reconnaissance de L'art antérieur, le traitement est effectué sur l'image complète, c'est-à-dire sur un signal bidimensionnel. Parmi les procédés de traite- ment connus, on peut citer la squelettisation du ca- ractère ou le suivi de contour du caractère. Ces pro- cédés de traitement peuvent être utilisés indépendam- ment ou peuvent être combinés. Ces traitements exigent des temps de calcul élevés car ils s'appliquent à l'image complète, c'est- à-dire à un signal bidimensionnel. Il n'est donc pas possible d'utiliser de tels traitements connus pour faire de la reconnaissance de caractères en temps réel sur des systèmes simples, des microprocesseurs bas de gamme par exemple. Le but de l'invention est de pallier les in- suffisances des systèmes connus afin de permettre la reconnaissance en temps réel de caractères défilant devant un moyen de saisie. Ce but est atteint par un procédé consistant essentiellement à extraire de l'image, par une analyse linéaire de celle-ci, les profils gauche et droit du caractère. Ces profils sont définis comme étant l'en- semble constitué par l'extrémité gauche du premier segment rencontré sur chaque ligne (pour le profil gauche) et celui de l'extrémité droite du dernier seg- ment rencontré sur chaque ligne (pour le profil droit). Ces profils peuvent être ensuite schématisés par une suite de segments de droites. Les profilts gauche et droit, éyentuellement segmentés, sont enfin comparés à des modèles de profils contenus dans une bibliothèque, ce qui achève la reconnaissance du ca- ractère. La rapidité du procédé de reconnaissance résulte d'une part des données géométriques choisies- profils gauche et droit- pour faire La reconnaissance du caractère, et d'autre part du choix d'une analyse linéaire, c'est-à-dire monodimensionnelle, les lignes successives de L'image étant traitées séquentielle- ment. L'image étant traitée ligne par ligne, il est avantageux d'utiliser un moyen de saisie tel qu'une caméra linéaire, par exemple une caméra linéai- re du type dispositif à transfert de charge (en abrégé D.T.C. et en terminologie anglosaxonne: C.C.D.). Une telle caméra présente l'avantage, notamment sur les caméras video, d'avoir un temps de pose réglable ce qui lui permet d'être utilisée pour la saisie d'objets peu éclairés ou en défilement rapide. Dans le cas de la reconnaissance d'un carac- tère non mobile, le moyen de saisie peut être une caméra DTC matricielle. L'image est saisie globalement mais le traitement de reconnaissance du caractère reste un traitement ligne par ligne. Dans certains cas particuliers (éclairement convenable,...), la caméra matricielle peut éventuellement être remplacée par une caméra vidéo. De manière précise, l'invention a pour objet un procédé de reconnaissance de caractères en temps réel, notamment sur des objets en défilement rapide consistant à obtenir une image d'un caractère au moyen d'une caméra, et à traiter ladite image ligne par ligne pour déterminer les profils gauche et droit dudit caractère et pour comparer lesdits profils à des modèles de profils contenus dans une bibliothèque, cette comparaison permettant de reconnaître ledit ca- ractère. De manière préférée, Les profils gauche et droit du caractère sont remplacés chacun par une suite de segments avant d'être comparés à des modèles de profils qui sont également représentés par des suites de segments. L'analyse de chaque ligne d'image permet de détecter les deux pixels appartenant au profil gauche et au profil droit du caractère. A partir de ces pixels, les profils gauche et droit sont construits en temps réel, en même temps que l'analyse ligne à ligne de l'image. De manière avantageuse, l'analyse d'une ligne d'image inclut également un traitement d'extrac- tion des données topologiques du caractère, telles que présence et nombre de trous, voûtes ou creux dans le caractère. L'extraction de ces données topologiques est réalisée par comparaison entre la ligne analysée et la ligne précédente suivant un algorithme de conne- xité. Cette prise en compte des données topologi- ques est connue en soi, mais est en général appliquée à l'image complète, c'est-à-dire à un signal bidimen- sionnel. Elle permet de supprimer certaines ambiguités lorsque deux caractères différents ont des profils gauche et droit qui peuvent être proches, ce qui est Le cas si le nombre de caractères différents à recon- naître est important. L'enchaînement de ces méthodes obéit à une arborescence hiérarchisée multi-niveax. Les caractéristiques et avantages de l'in- vention ressortiront mieux de la description qui va suivre, donnée à titre illustratif mais non limitatif, en référence aux dessins annexés sur lesquels: - la figure 1 représente schématiquement un système de reconnaissance de caractères pour la mise en oeuvre du procédé de l'invention, - la figure 2 est un organigramme du procédé de l'invention, - les figures 3a, 3b et 3c représentent res- pectivement le signal déLivré par la caméra, un signal convolué correspondant et l'état des pixels d'une ligne d'image après le seuillage du signal convolué, - la figure 4a est un organigramme illus- trant l'approximation linéaire du profil gauche d'un caractère analysé, les figures 4b, 4c, 4d et 4e sont des exemples de configurations du profil gauche qui expli- quent le fonctionnement de l'organigramme de la figure 4a, - les figures 5a, 5b et 5c illustrent res- pectivement un caractère à analyser, un ensemble des segments utilisés pour le codage de Freeman dudit ca- ractère, et les profils gauche et droit dudit caractè- re codé, - les figures 6a et 6b illustrent respecti- vement un autre ensemble de segments utilisés pour le codage de Freeman d'un caractère, et les profils gauche et droit du caractère de la figure 5a codé par ledit autre ensemble de segments; - la figure 7a est un organigramme de recon- naissance d'un caractère codé par comparaison de ses profils gauche et droit à des modèles de profils con- tenus dans une bibliothèque, lorsque ledit caractère est tracé selon la police de caractères de la figure 7b; - les figures 8a et 8b représentent respec- tivement un caractère et ses profils gauche et droit, lesdits profils ne permettant pas, à eux seuls, de reconnaître ledit caractère; - les figures 9a, 9b, 9c illustrent respec- tivement les formes de type voûte, creux et trou qui sont détectées par une étude de la connexité entre la ligne d'image en cours d'analyse et la ligne précéden- te. On a représenté sur la figure 1 un système de reconnaissance de caractères pour la mise en oeuvre du procédé de l'invention. Ce système comprend une source lumineuse 2, une caméra 4, un moyen de contrôle 6 de La caméra, un circuit logique 8 et un moyen à microprocesseur 10. Le caractère 12 à reconnaître est placé sur un support 14. Ce support peut être par exemple un objet dont le caractère 12 constitue un code d'identi- fication. Le système de reconnaissance est alors utilisé pour reconnaître des objets, par exemple pour leur stockage. Dans le cas o le caractère est en défile- ment sous la caméra, cette dernière est de préférence une caméra linéaire du type dispositif à transfert de charge (en abrégé D.T.C). L'avantage d'une caméra li- néaire,-par rapport à une caméra DTC matricielle ou une caméra vidéo, est qu'il ne se pose pas de problème de synchronisation de la caméra pour la saisie du ca- ractère. Par ailleurs, l'utilisation d'une caméra DTC est intéressante en ce qu'elle peut être utilisée dans des conditions de faible éclairement, ce qui n'est pas le cas des caméras vidéo. Dans le cas o Le caractère est fixe sous la caméra, une caméra DTC matricielle peut être utilisée avantageusement. A titre d'exemple, le système de la figure 1 est adapté à la reconnaissance de caractères en défi- lement rapide et comporte une caméra DTC linéaire du type TH 7804 de THOMSON. Le signal délivré par la caméra est traité par le moyen de contrôle 6. Celui-ci règle notamment la durée d'exposition en fonction de la vitesse de défilement, par exemple à une valeur de l'ordre de ps. Ce moyen de contrôle peut être notamment la carte d'évaluation THX 1061 associée à la caméra TH 7804. L'intensité de la source lumineuse 2 est ré- glée en fonction de la durée d'exposition. Elle est de l'ordre de 2500 pW/cm dans le cas de la caméra TH 7804 pour une exposition de 200 ps. La source lumi- neuse 2 est recouverte d'un filtre infrarouge SCHOTT KG 1. Le signal délivré par le moyen de contrôle 6, qui représente une ligne d'image, est reçu dans le circuit logique 8. Celui-ci réalise une conversion analogique-numérique dudit signal et, éventuelLement, d'autres traitements telle qu'une convolution. Ces traitements seront précisés en relation avec l'organi- gramme de la figure 2. Le signal numérique délivré par le circuit logique 8 est ensuite traité par le moyen à micropro- cesseur 10 conformément au procédé de l'invention pour détecter les profils gauche et droit du caractère ana- Lysé, éventuellement segmenter Lesdits profils et pour comparer Les profils éventuellement segmentés à des modèLes de profils contenus dans une bibliothèque. Le moyen 10 comprend un microprocesseur, par exemple de type 8086 de INTEL, une mémoire morte contenant la bibliothèque de modèles de profils et un programme correspondant au procédé de l'invention, une mémoire vive pour stocker des données ou des résuLtats temporaires, et des moyens d'entrée-sortie pour recevoir le signal délivré par le circuit logique 8 et pour délivrer un signal représentatif du caractère réalisé vers un moyen d'affichage (non représenté) tel qu'un écran ou une imprimante. On va maintenant décrire le procédé de l'in- vention en relation avec l'organigramme de la figure 2. Cet organigramme comprend un ensemble d'étapes de calcuLs et d'interrogations disposées entre une étiquette de début 14 et une étiquette de fin 16. Les étapes de calcul sont représentées par des rectangles à une entrée et une sortie, et les étapes d'interrogation par des losanges à une entrée et à deux sorties, l'une correspondant à une réponse affir- mative à l'interrogation, l'autre à une réponse néga- tive. De manière générale, le procédé de l'inven- tion consiste à lire séquentiellement chaque ligne d'image, chaque ligne étant traitée en temps réeL aussitôt après avoir été lue. Le traitement consiste à détecter les deux pixels de la ligne appartenant aux profils gauche et droit du caractère. La reconnaissan- ce de ces pixels est faite, dans l'organigramme de la figure 2, par une convolution sur le signal de ligne, suivie d'un seuillage. Ces pixels ayant été détectés, les profils gauche et droit sont mis à jour. L'analyse de la ligne peut être complétée par une étude de con- nexité entre les pixels de la ligne analysée et les pixels de la ligne précédente pour déterminer les éléments topologiques du caractère analysé, tels qu'une voûte, un creux ou un trou. Dans l'organigramme de la figure 2, on a détaillé uniquement les opérations de convolution et de seuillage permettant de détecter les pixels appar- tenant aux profils gauche et droit. La mise à jour des profils et l'étude de la connexité seront décrits ul- térieurement. Dans cet organigramme, on utilise les indi- ces suivants: - indice I, qui désigne le numéro de la ligne analysée de l'image, - indice J, qui désigne un numéro de pixel dans la ligne analysée (i.e. numéro de colonne); le couple (I,J) désigne donc un pixel de l'image, - indice ", qui désigne un numéro de segment dans la ligne analysée, un segment est un ensemble de pixels consécutifs dans une ligne qui appartiennent au caractère à reconnaître. La première étape 18 de l'organigramme est une étape d'initialisation à 1 de l'indice de ligne I. L'étape suivante 20 comprend la lecture de la ligne I et les initialisations des indices de colonne J et de nombre de segments a. L'indice a est initialisé à O; pour l'indice J, la valeur initiale dépend de la fenê- tre de convolution. A titre d'exemple, on a choisi une fenêtre de 5 pixels, et on initialise donc l'indice J avec la valeur 3. L'étape 20 est suivie de l'étape 22 de calcul de la convoluée discrète du pixel (I,J). La convolution est linéaire et utilise, dans l'exemple choisi, une fenêtre de 5 pixels avec les coeffi- cients: -1, -7, O, +7, +1. Ces coefficients corres- pondants à une fonction de convolution du type dérivée d'une gaussienne, soit g(x)=--.exp - (o 6 est l'écart type). On a représenté respectivement sur les figu- res 3a et 3b un signal de ligne délivré par le moyen de contrôle de la caméra et le signal convolué correspon- dant. La convolution permet de mieux marquer la fron- tière entre un pixel correspondant au caractère et un pixel correspondant au fond de l'image. La détection de ces frontières est réalisée par le test 24 dans 1 0 lequel le niveau de La valeur absolue du signal convo- lué est comparé à un seuil prédéterminé S. Lorsque le résultat de la comparaison est négatif, c'est-à-dire si la valeur du signal convolué pour le pixel (I,J) est inférieur au seuil S, on passe au pixel suivant de la ligne par incrémentation de l'indice de colonne J (étape 26), et on reprend pour ce pixel les étapes 22 et 24. Apres l'étape 26 d'in- crémentation, on effectue un test 28 pour déterminer si le pixel analysé est le dernier de la ligne. Si c'est le cas, c'est-à-dire si J=N o N est le nombre de pixels par ligne, on ne reprend pas l'étape 22 mais on passe à une étape 30 de calcul des profils et d'étude de connexité. Nous reviendrons sur cette étape dans la suite de la description. Lorsque Le résultat de la comparaison fai- sant L'objet du test 24 est positif, on exécute une étape 32 de mémorisation du numéro de colonne du pixel courant dans une variable XE. On passe ensuite au pixel suivant par une étape 34 d'incrémentation du- numéro de colonne J, analogue à l'étape 26, et on dé- termine, par un test 36 analogue au test 28, si le pixel analysé est le dernier de la ligne. Si tel est le cas, le traitement se poursuit par l'étape 30. Dans le cas contraire, on calcule la convoluée du nouveau pixel courant dans une étape 38 analogue à l'étape 22 et on compare la valeur de ladite convoluée du seuil S dans un test 40 analogue au test 24. Lorsque ce test est négatif, le traitement se poursuit par le test 34. Dans le cas contraire, le pixel courant termine un segment de pixels appartenant au caractère. Ce segment est mémorisé dans l'étape 42. Après cette mémorisation, le traitement reprend par l'étape 26. A la fin de l'analyse de la ligne I, c'est- à-dire au début de l'étape 30, le signal de ligne se présente sous la forme d'une suite de pixels "blancs", pour les pixels correspondant-au fond de l'image, ou "noirs", pour les pixels correspondants à la trace du caractère. Sur la figure 3c, la ligne I comporte un premier segment de pixels "noirs" entre les indices de colonne J0 et J1' et un second segment entre les indi- ces de colonne J2 et J3. Cette ligne de pixels est obtenue par le procédé suivant l'organigramme de la figure 2 de la manière suivante. Pour chacun des pixels de la ligne I compris entre les indices de colonne J=3 et J=Jo-1, le traite- ment correspond aux étapes successives 22, 24, 26 et 28. Pour le pixel d'indice de colonne J=J0, le traite- ment comporte les étapes successives 22, 24 puis 32, suivies de 34 et 36. L'étape 32 permet de mémoriser le début d'un segment de pixels "noirs". Pour chacun des pixels suivants de ce segment, le traitement comporte les étapes successives 38, 40, 34 et 36. Ce traitement est identique à celui appliqué aux pixels "blancs" dont l'indice de colonne est compris entre 0 et Joi1. Lorsque le pixel analysé est le dernier d'un segment de pixels "noirs", le segment est mémorisé par l'étape 42 sous forme d'un triplet (I, Jo' J1) . Pour le pixel suivant de la ligne, le traitement est iden- tique à celui du premier pixel analysé de la Ligne. Le deuxième segment est détecté et mémorisé de la même manière que le premier segment. Revenons à la figure 2. Lorsque tous les pixels de la ligne ont été analysés, on passe à l'étape 30 qui consiste: - à mémoriser le nombre NBR de segments de pixels "noirs" de la ligne I, - à calculer les profils gauche et droit du caractère en tenant compte des profils élaborés entre les li- gnes 1 et I-1 et des pixels (I, Jo0) et I, J3) (figure 3c), - à étudier la connexité des segments de la Ligne I avec les segments de La ligne I-1 pour détecter des formes particulières dans le caractère, telles qu'une voûte, un creux ou un trou. Les traitements de l'étape 30 seront décrits en détail dans la suite de la description. Cette étape est suivie d'une étape 44 t incrémentation de l'indice de ligne I et d'un test 46.fin d'exploration du carac- tère (comparaison de l'indice de ligne courant au nom- bre de lignes). Selon le résultat de ce test, le trai- tement reprend à l'étape 20 pour une nouvele ligne, ou se termine sur l'étiquette de fin 16. Dans l'étape 30 de l'organigramme de la figure 2, on réalise deux opérations distinctes: une opération de segmentation des profils gauche et droit du caractère, c'est-à-dire d'approximation desdits profils par des segments de droite, et une opération d'analyse de la topologie du caractère (présence de voûte, de creux ou de trou). Cette deuxième opération n'est pas toujours nécessaire mais devient utile Lorsque le nombre de caractères différents à reconnal- tre est important, car alors des caractères différents peuvent avoir un profil identique. On va tout d'abord décrire l'opération de segmentation d'un profil (à titre d'exemple, le profil gauche) en relation avec l'organigramme de la figure 4a et les exemples de profils gauche des figures 4b à 4e. A la fin de l'analyse de la ligne d'indice I, on à détecté le pixel de la ligne I qui appartient au profil gauche du-caractère. On connaît également la suite de segments de droites qui constitue une appro- ximation linéaire du profil gauche entre les lignes d'indice 1 et I-1. Le problème qui se pose est de savoir si le pixel de la ligne I du profil gauche se trouve sensiblement dans l'alignement du dernier seg- ment de droite du profil (celui qui se termine sur la ligne I-1) ou non. Dans le premier cas, ledit dernier segment est prolongé jusqu'audit pixel de la ligne I; dans le cas contraire, l'extrémité du dernier segment sur la ligne I-1 est un point de rupture: le dernier segment est mémorisé et un nouveau segment est ébauché entre ledit point du rupture et ledit pixel de la ligne I. Le principe de la segmentation du profil apparaît clairement sur les exemples des figures 4b à 4e. Sur la figure 4b, on a représenté le cas de l'ana- lyse des lignes d'indice I=1 et I=2. Pour la ligne I=1, on initialise le premier segment en prenant pour point de départ le pixel de coordonnées (DSX, DSY). L'autre extrémité de ce segment est, temporairement, le pixel de coordonnées (XE, I) de la ligne I=2. La figure 4b illustre le cas o les pixels (DSX, DSY) et (XE, I) sont voisins, c'est-à-dire pour lesquels 16X\,1 et /AY\ 1. Sur la figure 4c en re- vanche, ces deux pixels ne sont pas voisins. Dans ce cas, on complète le profil par des pixels, marqués d'une croix sur la figure, pour que le profil soit constitué d'une suite de pixels voisins. Le premier segment a pour première extrémité (DSX, DSY) et pour seconde extrémité, temporaire, le pixel voisin du pro- fil, de coordonnées (FSX, FSY). La segmentation du profil situé consiste à déterminer si l'un des pixels (X, Y) du profil situé entre le pixel (FSX, FSY), extrémité temporaire du segment, et le pixel (XE, I), définissant le profil dans la ligne I, est un point de rupture. Un tel point de rupture est détecté si l'angle entre le segment d'extrêmités (DSX, DSY) et (FSX, FSY) est supérieur à l'angle entre un segment ayant pour extrémités (DSX, DSY) et (X, Y). Un critère pour la détection d'un point de rupture peut être de comparer le rapport F (cf. figure 4d) à un seuil prédéfini, o F est la surface du triangle défini par les points (X, Y), (FSX, FSY) et (i, A) en notant (a, P) la projection orthogonale de (FSX, FSY) sur le segment d'extrémités (DSX, DSY) et (X, Y), et o L2 est le carré de la longueur dudit segment. Ce critère est appliqué successivement à chaque pixel (X, Y) compris entre le pixel (FSX, FSY) et le pixel (XE, I) (figure 4c). Si le pixel (X, Y) constitue un point de rupture, on mémorise le pixel précédent Ledit pixel (X, Y) comme extrémité définiti- ve du segment commençant en (DSX, DSY) et ledit pixel précédent constitue une extrémité (DSX, DSY) du seg- ment suivant. La figure 4e illustre un cas semblable à celui de la figure 4c (\AXI)1) pour une valeur quel- conque de l'indice I. On va maintenant décrire en référence à la * figure 4a un organigramme correspondant à une segmen- tation conforme aux figures 4b à 4e. Cet organigramme comprend un ensemble d'étapes de calcul et de test disposées entre une étiquette de début 48 et une éti- quette de fin 50. Le traitement commence par un test 52 sur l'indice de Ligne I. Si I=1, on initialise Le début du premier segment à la valeur (XE, I) du pixel détecté dans l'étape 32 (figure 2), on mémorise les coordon- nées dudit pixel et on initialise à 1 une variable NP qui compte le nombre de points anguleux dans Le profil segmenté. Si I01, le test 52 est suivi d'un test 56 pour déterminer si I=2. On calcule ensuite LX et LY dans une étape 58 pour I=2 (cf. figure 4c) et dans une étape 60 pour I2 (cf. figure 4e). On teste ensuite par des interro- gations respectives 62 et 64 la valeur de AX pour déterminer si le pixel (XE, I) de la ligne analysé est voisin du pixel de la ligne I-1 qui constitue l'extrê- mité temporaire du dernier segment de droite du profil segmenté. Trois cas se présentent: a) I=2 et \AX \ 1 l'extrémité temporaire du premier segment est égale au pixel (XE, I) (cf. figure 4b); une étape 66 initialise ladite extrémité temporaire, b) Ii2 et pX 1 On détermine par un test 68 si le pixel (XE, I) est un point de rupture, par exemple suivant le critère décrit en référence à la figure 4d. Si c'est un point de rupture (étape 70), l'extr5mité temporaire du dernier segment de droite devient définitive et est mémorisée. Concomitamment la variable NP est incrémen- tée. Cette extrémité mémorisée devient le début du segment suivant; l'extrémité temporaire de ce nouveau segment est le pixel (XE, I), c) Xa\u \ Dans ce cas, iL faut compléter le profil entre l'extrémité temporaire du dernier segment et le pixel (XE, I) (étape 72). Sur les figures 4c et 4e, ces pixels ajoutés au profil sont marqués d'une croix. Il faut ensuite tester successivement si chaque pixel ajouté (X, I) ou le pixel (XE, I) est un point de rupture (tests 74 et 76). Si l'un desdits pixels est un point de rupture, on passe à l'étape 78 qui consis- te à mémoriser le pixel antécédent du point de rupture comme extrémité définitive du dernier segment et comme début d'un nouveau segment. L'extrémité temporaire de ce nouveau segment est le pixel CXE, I). Les profils segmentés gauche et droit du caractère se construisent donc au fur et à mesure de l'analyse ligne à ligne de L'image. Pour simplifier la comparaison des profils segmentés avec les modèles de profil contenus dans la bibliothèque de profil, iL est avantageux de remplacer chaque segment d'un profil segmenté, qui peut avoir une direction quelconque, par un segment pris dans un ensemble de segments prédéter- minés ayant des directions particulières. Un tel trai- tement est connu sous le nom de codage de Freeman. Par exemple, pour le caractère représenté sur la figure 5a, les profils gauche PG et droit PD sont codés par les profils de la figure 5c, Lorsque les segments prédéterminés sont ceux de la figure 5b. Il s'agit dans ce cas du codage de Freeman simplifié qui est suffisant dans le cas de la reconnaissance de caractères numériques. On a représenté sur la figure 6a un autre ensemble de segments prédéterminés, plus complet que celui de la figure 5b. Les profils gauche et droit du caractère codés par cet ensemble de segments prédéter- minés sont représentés sur la figure 6b. Ces profils sont plus proches et permettent une reconnaissance aisée de tous les caractères, qu'ils soient numériques ou alphabétiques. On a indiqué dans le tableau I les modèLes de profils gauche PG et droit PD des chiffres 0,1,...,9 selon le codage de Freeman simplifié utili- sant les segments de la figure 5b. On constate que des chiffres différents peuvent avoir Le même profil. C'est le cas par exempte des chiffres 7 et 9. Les profils codés d'un caractère à reconnaître ne sont donc pas toujours suffisants pour déterminer ledit caractère codé. Il faut alors tenir compte de la forme du caractère (nombre et taille des trous, par exemple) pour lever les ambigu;- tés. On a représenté sur la figure 7a un organi- gramme pour la reconnaissance d'un caractère numérique tracé selon la police de caractères représentée sur la figure 7b, à partir des ses profils codés gauche PG et droit PD en fonction de la classification du tableau I. L'organigramme se présente sous la forme d'une ar- borescence dont les feuilles indiquent soit le(s) chiffre(s) correspondant(s) aux profils, soit que les profils ne correspondent a aucun chiffre. Cet organigramme comporte les tests sui- vants: test 80: PG=202 test 82: PD=2 test 84: PD=202 test 86: PD=20242 test 88: PG=20242 test 90: PD=24202 test 92 PG=2 test 94 PD=202 test 96 PG=202420242 Les caractères reconnus sont: - "0" ou "1" ou "8", si les tests 80, 88, 92 et 94 sont respectivement faux, faux, vrai et faux, "2", si les tests 80, 82 et 84 sont respectivement vrai, faux et vrai, "3" si les tests 80, 88 et 92 sont faux et le test 96 vrai, - "4" si les tests 80, 82, 84 et 86 sont respective- ment vrai, faux, faux et vrai, - "5" si les tests 80, 88 et 90 sont respectivement faux, vrai et vrai - "7" ou "9" si les tests 80 et 82 sont vrais. Il y a par ailleurs indécision si les tests , 88 et 90 sont respectivement faux, vrai, faux ou si le test 80 est vrai et Les tests 82, 84, 86 faux. Une telle indécision peut notamment résulter du fait que le profil codé du caractère n'est pas conforme au modèle de profil. Par exemple, le caractère représenté sur La figure 8a est le chiffre "6", mais il est dif- férent du chiffre "6" de La figure 5a. Le profil codé du caractère de la figure 8a est représenté sur la figure 8b selon le codage simplifié de Freeman. Ce profil codé est différent de celui de la figure 5c qui est conforme au modèle de profil du tableau I. Pour reconnaître le caractère de la figure 8a comme étant le chiffre "6", il faut donc tenir compte de paramètres supplémentaires et s'intéresser par exemple à la topologie du caractère analysé. Cette analyse topologique est connue en soi. Il n'apparaît donc pas nécessaire de la décrire en détail. Rappelons seulement qu'elle consiste à détec- ter des formes particulières telle qu'une voûte, un creux ou un trou dans le tracé du caractère. Ces trois formes sont représentées respectivement sur les figu- res 9a, 9b et 9c. L'analyse topologique comprend essentielle- ment une étude de la connexité entre les segments détectés dans la ligne I en cours d'analyse de l'image (cf. figure 3c) et les segments détectés dans la ligne I-1. L'étude de la connexité se traduit par des comparaisons entre la position d'un segment de la ligne I-1 et la position d'un segment de la ligne I. Ces calculs sont très simples et peuvent être faits en temps réel dès que les segments de la ligne I ont été mémorisés. En résumé, le procédé de reconnaissance de caractères de l'invention est un procédé d'analyse ligne à ligne de l'image contenant le caractère, cette analyse consistant principalement à obtenir des pro- fils, éventuellement codés, gauche et droit du carac- tère, et à comparer lesdits profils, éventuellement codés, à des modèles de profils contenus dans une bi- bliothèque. L'analyse ligne à ligne peut également inclure des traitements complémentaires, tel que par exemple une analyse topologique, pour faciliter la reconnaissance du caractère lorsqu'une ambiguïté peut subsister au seul vu des profils codés. PG TABLEAU I PD o REVENDICATIONS 1. Procédé de reconnaissance de caractères en temps réel, notamment sur des objets en défilement rapide, dans lequel on obtient une image d'un caractè- re au moyen d'une caméra, procédé caractérisé en ce que l'image est analysée séquentiellement ligne par ligne pour déterminer les profils gauche (PG) et droit (PD) dudit caractère, et pour comparer lesdits profils à des modèles de profils contenus dans une bibliothè- que, ladite comparaison permettant de déterminer ledit caractère analysé. 2. Procédé selon la revendication 1, carac- térisé en ce que, pour chaque ligne d'image, on effec- tue une convolution sur le signal de ligne, puis un seuillage, le premier pixel du signal de ligne convo- lué, dont le niveau est supérieur au seuil, définis- sant le profil gauche du caractère dans la ligne ana- lysée et le dernier pixel du signal de ligne convolué, dont le niveau est supérieur au seuil, définissant le profil droit du caractère dans la ligne analysée. 3. Procédé selon la revendication 2, carac- térisé en ce que, lorsque le pixel définissant l'un des profils du caractère dans la ligne analysée et le pixel définissant le même profil dans la ligne précé- dente ne sont pas voisins, ledit profil est complété par une suite de pixels de ladite ligne analysée de sorte que ledit profil soit défini par une suite de pixels voisins. 4. Procédé selon l'une quelconque des reven- dications 1 à 3, caractérisé en ce que les profils gauche et droit dudit caractère composés chacun d'une suite de pixels voisins, sont segmentés, lesdits pro- fils segmentés étant comparés aux modèles de profils pour déterminer ledit caractère analysé. 5. Procédé selon La revendication 4, carac- térisé en ce que Les profils segmentés sont codés par un codage de Freeman, Lesdits profils codés étant comparés aux modèles de profils pour déterminer le caractère analysé. 6. Procédé selon la revendication 4, carac- térisé en ce que les profils segmentés sont codés par un codage de Freeman simplifié, lesdits profils codés étant comparés aux modèles de profils pour déterminer le caractère analysé. 7. Procédé selon l'une quelconque des reven- dications 1 à 6 pour La reconnaissance de caractères défilant devant la caméra, caractérisé en ce que la caméra est une caméra linéaire du type dispositif à transfert de charges. 8. Procédé selon l'une quelconque des reven- dications I à 7, caractérisé en ce que en outre chaque ligne d'image analysée est comparée à la ligne d'image précédente pour détecter ta présence d'au moins l'un des éléments topologiques suivants: voOte, creux ou trou; lesdits éléments topologiques étant pris en compte pour La reconnaissance du caractère lorsque les profils gauche et droit dudit caractère ne permettent pas, à eux seuls, de reconnaître ledit caractère.