BE1023388B1 - Procédé et système pour corriger une image provenant d'un dispositif de numérisation à main - Google Patents
Procédé et système pour corriger une image provenant d'un dispositif de numérisation à main Download PDFInfo
- Publication number
- BE1023388B1 BE1023388B1 BE2015/5553A BE201505553A BE1023388B1 BE 1023388 B1 BE1023388 B1 BE 1023388B1 BE 2015/5553 A BE2015/5553 A BE 2015/5553A BE 201505553 A BE201505553 A BE 201505553A BE 1023388 B1 BE1023388 B1 BE 1023388B1
- Authority
- BE
- Belgium
- Prior art keywords
- image
- text
- pixels
- line
- cropped
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012937 correction Methods 0.000 claims description 35
- 238000007781 pre-processing Methods 0.000 claims description 16
- 230000005484 gravity Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 11
- 238000013075 data extraction Methods 0.000 claims description 11
- 230000003287 optical effect Effects 0.000 claims description 11
- 238000003909 pattern recognition Methods 0.000 claims description 2
- 238000009966 trimming Methods 0.000 claims description 2
- 238000012015 optical character recognition Methods 0.000 description 67
- 238000010200 validation analysis Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1463—Orientation detection or correction, e.g. rotation of multiples of 90 degrees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1475—Inclination or skew detection or correction of characters or of image to be recognised
- G06V30/1478—Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
- G06V30/1801—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
- G06V30/18076—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by analysing connectivity, e.g. edge linking, connected component analysis or slices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
Abstract
L'invention concerne un procédé pour corriger une image acquise par un dispositif de numérisation à main. L'image binarisée de l'image acquise est rognée en éliminant des colonnes à l'extrémité gauche et à l'extrémité droite de premiers composants uniquement. Une image de travail est créée à partir de l'image rognée en remplaçant dans chaque rangée de composants des séries de premiers composants inférieurs à une distance prédéterminée par des séries de deuxièmes composants. Une ligne centrale est identifiée dans l'image de travail. La ligne centrale identifiée dans l'image de travail est utilisée pour identifier la ligne centrale correspondante dans l'image rognée formant une image de ligne centrale, et la ligne de texte centrale est redressée dans l'image de ligne centrale.
Description
Procédé et système pour corriger une image provenant d'un dispositif de numérisation à main
Domaine technique
La présente invention concerne un procédé de traitement d'une image acquise par un dispositif de numérisation à main, et concerne plus particulièrement un procédé de correction d'une image provenant d'un dispositif de numérisation à main.
La présente invention concerne en outre un dispositif de numérisation à main et un système de dispositif de numérisation à main utilisant le procédé de traitement et concerne plus particulièrement un dispositif et un système utilisant le procédé de correction d'une image distordue.
Art antérieur
On connaît des numériseurs à main à reconnaissance optique de caractères (ROC). Ils convertissent l'image d'un texte imprimé, d'un code à barres ou d'une photo en un code lisible par machine. Souvent, l'image acquise par le dispositif de numérisation à main est transférée vers le PC/Mac qui effectue alors les étapes suivantes: traiter l'image pour améliorer la qualité, reconnaître optiquement les caractères du texte et exporter le texte reconnu vers une application. Un stylo numériseur est un exemple d'un numériseur à main à ROC connu dans l'état de la technique. Un stylo numériseur est un dispositif de numérisation en forme de stylo généralement connecté à un ordinateur. Le dispositif de numérisation de type stylo est actionné à la main et permet d'entrer une ligne de texte dans une application informatique en faisant glisser le stylo sur le document.
Les numériseurs à main à ROC comprennent un capteur optique unidimensionnel pour acquérir des informations d'image qui sont gérées par une unité de traitement et stockées dans une mémoire. En ce qui concerne un numériseur à main, l'utilisateur le fait passer sur un texte imprimé de sorte qu'il y a un mouvement relatif entre le capteur optique et le texte imprimé à acquérir. Pendant ce mouvement relatif, une série d'images est acquise, chaque image acquise de la série correspondant à une petite partie du texte imprimé à numériser. Quand il faut reconstruire l'image numérisée, les images acquises combinées donnent une image distordue.
Comme un capteur unidimensionnel est utilisé, le problème qui se pose est celui de savoir comment calculer la vitesse de numérisation instantanée qui est nécessaire pour reconstruire l'image bidimensionnelle. On connaît dans l'état de la technique des solutions pour corriger cette distorsion de l'image numérisée.
Certaines solutions sont basées sur des structures mécaniques telles que des roulettes qui sont en contact avec le papier et permettent de calculer la vitesse. US5083218 divulgue un appareil de lecture d'image à main dans lequel une roulette en caoutchouc se déplace sur la surface de l'image pour déterminer le mouvement relatif entre le dispositif de numérisation à main et l'image en cours de numérisation ou d'acquisition.
Dans une autre solution divulguée dans US5023922, un capteur optique bidimensionnel est utilisé pour calculer la vitesse du mouvement relatif sur la base de l'intervalle de temps requis pour qu'une image traverse le capteur.
Dans une autre solution encore, US6965703 divulgue comment corriger la distorsion due à la variabilité de la vitesse de numérisation instantanée en appliquant une compensation. Cette solution utilise la hauteur de caractère et le ratio de police de caractères pour chaque police dans le texte pour obtenir un facteur de correction locale à chaque endroit dans l'image du texte. Le facteur de correction locale est ensuite utilisé pour corriger l'image distordue. Bien que les solutions ci-dessus fournissent, dans de nombreux cas, des résultats plus que raisonnables, l'exactitude de la ROC qui en résulte est, dans un certain nombre de situations, encore trop faible, en particulier parce que le dispositif à main est actionné par la main. Étant donné que le dispositif de numérisation à main est actionné par la main, l'utilisateur lui-même introduit dans les images numérisées divers types de distorsions qui ne sont pas dus au changement de vitesse du dispositif de numérisation à main.
Divulgation de l'invention
Un but de la présente invention est de fournir un procédé pour corriger une image acquise par un dispositif de numérisation à main qui a pour résultat une exactitude améliorée de la ROC.
Ce but est atteint selon l'invention avec un procédé de correction d'une image acquise par un dispositif de numérisation à main présentant les caractéristiques techniques de la première revendication indépendante. Le procédé comprend les étapes de: - binarisation de l'image acquise par un dispositif de numérisation à main pour obtenir une image binarisée de pixels blancs et de pixels noirs, - rognage de l'image binarisée pour obtenir une image rognée en éliminant les colonnes à l'extrémité gauche et à l'extrémité droite de pixels blancs uniquement, - création d'une image de travail à partir de l'image rognée en remplaçant dans chaque rangée de pixels des espaces blancs inférieurs à une distance prédéterminée par des espaces noirs, - identification d'une ligne centrale dans l'image de travail, - détermination, dans l'image rognée, des pixels correspondant à la ligne centrale dans l'image de travail comme une ligne de texte centrale pour créer une image de ligne centrale, et - redressement de la ligne de texte centrale dans l'image de ligne centrale pour obtenir une image corrigée.
Le procédé ci-dessus destiné à corriger une distorsion d'image en utilisant une image de travail pour déterminer la ligne centrale dans l'image donne des résultats de grande qualité très constants qui forment la base idéale pour un processus de reconnaissance de caractères subséquent.
Dans des modes de réalisation de l'invention, l'étape d'identification d'une ligne centrale dans l'image de travail comprend: - sélectionner des pixels blancs connectés pour lesquels un triplet le plus à gauche fait partie de la colonne la plus à gauche de l'image rognée, - déterminer des paires de pixels blancs connectés dont la distance entre les points centraux des triplets les plus à gauche se situe dans une plage prédéterminée, sélectionner dans les paires de pixels blancs connectés la paire de pixels blancs connectés la plus proche du centre de l'image rognée dans la direction de la colonne, et déterminer la ligne centrale comme les composants entre la paire sélectionnée de pixels blancs connectés.
Ce mode de réalisation présente l'avantage que la ligne centrale peut être sélectionnée très rapidement avec grande exactitude.
Dans des modes de réalisation de l'invention, l'étape de redressement de la ligne de texte centrale comprend: - flouter l'image de ligne centrale pour obtenir une image floue, - déterminer un centre de gravité de pixels noirs pour chaque colonne de composants dans l'image floue, et - translater, pour chaque colonne, les centres de gravité afin que les centres de gravité forment une ligne horizontale.
Ce mode de réalisation est avantageux parce qu'il résulte en une grande exactitude constante pour redresser la ligne de texte.
Dans des modes de réalisation de l'invention, le procédé comprend l'étape d'application d'une correction de la vitesse variable à l'image acquise avant binarisation.
On a constaté que le fait d'appliquer deux corrections de distorsion d'image à l'image acquise donne une très grande exactitude.
Dans des modes de réalisation de l'invention, l'étape d'application d'une correction de la vitesse consiste à mesurer mécaniquement les variations de vitesse du dispositif de numérisation à main par rapport à l'image à acquérir.
On a constaté que le fait de mesurer mécaniquement la vitesse et d'appliquer une correction de la vitesse avant binarisation donne des résultats de correction très bons et très constants.
Dans des modes de réalisation de l'invention, le procédé comprend l'étape d'application d'une correction de la vitesse variable à l'image corrigée pour obtenir une deuxième image corrigée.
Dans ce procédé, la correction de la vitesse est effectuée après avoir identifié la ligne de texte centrale. On a constaté que cela donne de très bons résultats.
Dans des modes de réalisation de l'invention, la correction de la vitesse comprend le calcul de facteurs de correction locale basés sur des informations relatives à la police de caractères.
Ce procédé est avantageux, en particulier parce qu'il combine tout d'abord l'apport d'une correction aux distorsions dues à un changement instantané de la direction de numérisation et l'identification de la ligne centrale et ensuite l'application d'une correction aux distorsions dues au changement instantané de la vitesse en utilisant des facteurs de correction locale calculés.
Dans des modes de réalisation de l'invention, le procédé comprend l'étape d'application d'un processus de reconnaissance de caractères à la deuxième image corrigée pour obtenir des informations de texte.
On a constaté que la combinaison du prétraitement d'une image comme décrit dans un des modes de réalisation de l'invention et de l'application par la suite d'un processus de reconnaissance de caractères donne une très grande exactitude.
Dans des modes de réalisation de l'invention, le procédé comprend l'étape d'application d'un processus d'extraction de données aux informations de texte pour obtenir des informations de texte classifiées.
On a également constaté que la combinaison du prétraitement d'une image comme décrit dans un des modes de réalisation de l'invention et de l'application par la suite d'un processus de reconnaissance de caractères et d'extraction de données donne d'excellents résultats.
Un autre but de la présente invention est de fournir un dispositif de numérisation à main pour acquérir une image et pour prétraiter l'image acquise de manière que toute ROC subséquente ait pour résultat une meilleure exactitude de la ROC.
Ce but est atteint selon l'invention avec un dispositif de numérisation à main pour numériser une image et pour prétraiter l'image à des fins de reconnaissance de forme, le dispositif comprenant un capteur optique pour numériser une image ayant au moins une partie de texte centrale, un processeur pour corriger l'image numérisée, et un stockage contenant un programme exécutable au moyen du au moins un processeur et comprenant: - des premières parties de code de logiciel configurées pour binariser l'image numérisée en une image binarisée de pixels blancs et de pixels noirs, - des deuxièmes parties de code de logiciel configurées pour rogner l'image binarisée en une image rognée en éliminant les colonnes à l'extrémité gauche et à l'extrémité droite de pixels blancs uniquement, - des troisièmes parties de code de logiciel configurées pour créer une image de travail à partir de l'image rognée en remplaçant dans chaque rangée de pixels des espaces blancs inférieurs à une distance prédéterminée par des espaces noires, - des quatrièmes parties de code de logiciel configurées pour identifier une ligne centrale dans l'image de travail, - des cinquièmes parties de code de logiciel configurées pour déterminer dans l'image binarisée ou dans l'image rognée les pixels correspondant à la ligne centrale dans l'image de travail comme une ligne de texte centrale pour créer une image de ligne centrale, et - des sixièmes parties de code de logiciel configurées pour redresser la ligne de texte centrale dans l'image de ligne centrale pour obtenir une image corrigée.
Ce mode de réalisation est avantageux étant donné que le stylo fournit une image prétraitée qui est prétraitée de manière à fournir de meilleurs résultats de ROC quand un processus de reconnaissance de caractères est ensuite appliqué à l'image prétraitée.
Dans des modes de réalisation de l'invention, le dispositif de numérisation à main comprend un module de communication sans fil pour communiquer des images à un module de communication sans fil d'un dispositif mobile.
Cela présente l'avantage qu'une connexion peut être facilement établie et qu'il n'y a aucune limitation due à des fils. Il en résulte une manière très flexible d'utiliser un dispositif de numérisation à main.
Un autre but de la présente invention est de fournir un système pour corriger une image acquise par un dispositif de numérisation à main de manière que toute ROC subséquente ait pour résultat une meilleure exactitude de la ROC.
Ce but est atteint selon l'invention avec un système pour corriger une image ayant au moins une partie de texte centrale qui est distordue par un changement instantané de la direction de numérisation par rapport à une image à acquérir, le système comprenant au moins un processeur et un stockage associé contenant un programme exécutable au moyen du au moins un processeur et comprenant: des premières parties de code de logiciel configurées pour binariser l'image numérisée en une image binarisée de pixels blancs et de pixels noirs, des deuxièmes parties de code de logiciel configurées pour rogner l'image binarisée en une image rognée en éliminant les colonnes à l'extrémité gauche et à l'extrémité droite de pixels blancs uniquement, des troisièmes parties de code de logiciel configurées pour créer une image de travail à partir de l'image rognée en remplaçant dans chaque colonne de pixels des espaces blancs inférieurs à une distance prédéterminée par des espaces noirs, des quatrièmes parties de code de logiciel configurées pour identifier une ligne centrale dans l'image de travail, des cinquièmes parties de code de logiciel configurées pour déterminer dans l'image binarisée ou dans l'image rognée les pixels correspondant à la ligne centrale dans l'image de travail comme une ligne de texte centrale pour créer une image de ligne centrale, et des sixièmes parties de code de logiciel configurées pour redresser la ligne de texte centrale dans l'image de ligne centrale pour obtenir une image corrigée. L'avantage de ce système est qu'il fournit un prétraitement très exact de l'image numérisée de sorte que tout processus de reconnaissance de caractères subséquent fournit des résultats très exacts.
Dans des modes de réalisation de l'invention, le système comprend un dispositif de numérisation à main pour numériser l'image et un dispositif mobile comprenant le processeur et le stockage associé. L'avantage de ce système consiste en ce que l'équipement dans le dispositif de numérisation à main peut être limité, ce qui est avantageux pour la taille du dispositif de numérisation, le coût de production du dispositif de numérisation et la conception du dispositif de numérisation.
Dans des modes de réalisation de l'invention, le dispositif de numérisation à main comprend un module de communication sans fil pour communiquer avec un deuxième module de communication sans fil dans le dispositif mobile.
Ce système présente l'avantage d'être très facile à connecter, à déconnecter et à transférer d'un dispositif mobile à l'autre. De plus, la connexion sans fil évite aussi les limitations typiques d'une connexion câblée telles que distance limitée, compatibilité des connecteurs et le fait que le câble perturbe la manipulation du dispositif mobile à main.
Brève description des dessins L'invention sera expliquée de manière plus détaillée au moyen de la description qui suit et des dessins annexés.
La figure 1 illustre un dispositif de numérisation à main;
La figure 2a illustre un déroulement des opérations pour corriger une image acquise par le dispositif de la figure 1;
La figure 2b illustre le déroulement des opérations de la figure 2a combiné avec une correction de la vitesse variable avant binarisation;
La figure 2c illustre le déroulement des opérations de la figure 2a combiné avec une correction de la vitesse variable à la fin du processus de correction;
La figure 3 illustre un exemple du déroulement des opérations pour fournir une image de sortie;
La figure 4 illustre un déroulement des opérations pour éliminer des pixels en dehors d'une ligne de texte centrale;
La figure 5 illustre un déroulement des opérations pour ajuster une couleur d'arrière-plan;
La figure 6 illustre un déroulement des opérations pour déterminer une distance maximale entre mots;
La figure 7 illustre un déroulement des opérations pour estimer une distance entre lignes;
Les figures 8a et 8b illustrent ensemble un déroulement des opérations pour déterminer une ligne de texte centrale;
La figure 9 illustre une étape de comparaison dans le déroulement des opérations des figures 8a et 8b;
La figure 10 illustre la connexion de deux composants connectés dans une série de composants connectés dans le déroulement des opérations des figures 8a et 8b;
La figure 11 illustre une connexion entre caractères dans deux lignes; et
La figure 12 illustre un déroulement des opérations pour redresser une ligne de texte centrale.
La figure 13 illustre un système selon un mode de réalisation de la présente invention, le système incluant un dispositif de numérisation à main, un dispositif mobile et un ordinateur à distance;
La figure 14 montre un organigramme d'un déroulement des opérations de ROC pour obtenir des informations de texte relatives à un texte sur un support physique en partant dudit texte, selon un mode de réalisation de la présente invention;
La figure 15 montre un organigramme d'un déroulement des opérations de ROC comprenant une étape de décision entre une ROC locale ou une ROC à distance, selon un mode de réalisation de la présente invention;
La figure 16 illustre le système incluant un dispositif de numérisation à main, un dispositif mobile et un ordinateur à distance selon un mode réalisation de l'invention, avec une application de reconnaissance de données intelligente pour des factures tournant sur le dispositif mobile;
La figure 17 illustre une facture qui fournit des informations à entrer dans l'application de reconnaissance de données intelligente, selon un mode de réalisation de l'invention;
La figure 18 montre un organigramme d'un déroulement des opérations pour sélectionner des informations d'un texte sur un support physique, selon un mode de réalisation de l'invention; et
La figure 19 montre un organigramme d'un déroulement des opérations pour la validation des informations, selon un mode de réalisation de l'invention.
Modes de mise en œuvre de l'invention
La présente invention sera décrite en rapport avec des modes de réalisation particuliers et en référence à certains dessins mais l'invention n'y est toutefois pas limitée, n'étant limitée que par les revendications. Les dessins décrits ne sont que schématiques et sont non limitatifs. Dans les dessins, la taille de certains des éléments peut être exagérée et non dessinée à l'échelle à des fins illustratives. Les dimensions et les dimensions relatives ne correspondent pas nécessairement aux réalisations fonctionnelles effectives de l'invention.
En outre, les termes premier, deuxième, troisième et similaire dans la description et dans les revendications sont utilisés pour faire la distinction entre éléments similaires et pas nécessairement pour décrire un ordre séquentiel ou chronologique. Les termes sont interchangeables dans les circonstances appropriées et les modes de réalisation de l'invention peuvent fonctionner dans d'autres séquences que celles décrites ou illustrées dans le présent document.
De plus, les termes haut, bas, au-dessus, en dessous et similaire dans la description et les revendications sont utilisés à des fins descriptives et pas nécessairement pour décrire des positions relatives. Les termes ainsi utilisés sont interchangeables dans les circonstances appropriées et les modes de réalisation de l'invention décrits dans le présent document peuvent fonctionner dans d'autres orientations que celles décrites ou illustrées dans le présent document.
De plus, les divers modes de réalisation, bien que qualifiés de "préférés", doivent être interprétés comme des façons exemplaires dont l'invention peut être mise en œuvre plutôt que comme limitant la portée de l'invention.
Le terme "comprenant", utilisé dans les revendications, ne doit pas être interprété comme étant limité aux moyens ou étapes énumérés ci-dessous; il n'exclut pas d'autres éléments ou étapes. Il doit être interprété comme spécifiant la présence des éléments, nombres entiers, étapes ou composants cités auxquels il est fait référence mais n'exclut pas la présence ou l'ajout d'un ou plusieurs autres éléments, nombres entiers, étapes ou composants ou groupes de ceux-ci. Donc, la portée de l'expression "un dispositif comprenant A et B" ne devrait pas être limitée à des dispositifs comprenant uniquement les composants A et B, au contraire, en ce qui concerne la présente invention, les seuls composants énumérés du dispositif sont A et B, et la revendication devrait également être interprétée comme incluant des équivalents de ces composants. Les termes "composant connecté" ou "CC" tels qu'utilisés dans le présent document se réfèrent à un ensemble de composants (par exemple des pixels noirs ou blancs) qui remplissent les deux conditions suivantes. La première condition est que chaque composant du composant connecté ait la même valeur (p. ex. noir ou blanc). La deuxième condition est que chaque composant du composant connecté soit connecté à chacun des composants du composant connecté par un chemin fait de composants qui appartiennent au composant connecté. Le composant connecté n'est pas inclus dans un ensemble plus grand de composants qui remplit les première et deuxième conditions, c'est-à-dire qu'il n'est pas inclus dans un composant connecté plus grand. La description d'un composant connecté peut inclure une liste de triplets dans le cadre de laquelle il y a un triplet par colonne.
La figure 1 illustre un dispositif de numérisation à main 1. Le dispositif de numérisation à main a un capteur optique 3 pour acquérir une image quand le dispositif de numérisation à main est déplacé sur un texte imprimé à numériser ou à acquérir. Il en résulte un mouvement relatif entre le capteur optique 3 et l'image en cours de numérisation ou d'acquisition. En variante, le mouvement relatif entre le capteur optique et le texte imprimé peut être dû au mouvement du texte imprimé par rapport au capteur optique. Le dispositif de numérisation à main 1 peut avoir un processeur 5 et un élément de stockage 7 associé. Un programme stocké sur l'élément de stockage 7 peut être exécuté par le processeur 5. Le dispositif de numérisation à main 1 peut en outre avoir un module de communication sans fil 9. En ayant un module de communication sans fil, le dispositif de numérisation à main peut envoyer sans fil des données à un quelconque dispositif électronique et en recevoir, le dispositif électronique étant capable de communiquer par l'intermédiaire du module de communication sans fil 9. Par exemple, le dispositif de numérisation à main 1 peut être connecté sans fil à une tablette, à un smartphone, à un ordinateur portable, à un ordinateur personnel, etc.
La figure 2a illustre un déroulement des opérations 100 pour la correction d'une image acquise par le dispositif de numérisation à main 1. Quand le dispositif de numérisation à main 1 se déplace sur un texte imprimé comprenant de multiples lignes de texte, symboles et images, le capteur optique 3 n'acquiert pas seulement la ligne de texte souhaitée, dénommée ci-après ligne de texte centrale, mais aussi des parties d'une ou des deux lignes de texte voisines. L'image acquise 110 peut être en niveaux de gris ou en couleur. Cette image acquise 110 est l'entrée dans le déroulement des opérations 100. À l'étape 102, une binarisation d'image est effectuée pour créer une image binarisée 112. La binarisation d'image peut inclure la conversion des valeurs de pixels de l'image acquise 110 soit en un (1) logique soit en zéro (0) logique. Ces valeurs peuvent être représentées par un seul bit ou par plus d'un bit, par exemple, comme des nombres entiers sans signe de 8 bits. Les pixels de l'image acquise 110 peuvent être des pixels de niveaux de gris ou des pixels de couleur ou des pixels représentés dans une quelconque autre forme appropriée.
Les valeurs de pixels peuvent être représentées respectivement par la couleur noire (1 logique) ou la couleur blanche (0 logique).
Dans un mode de réalisation, la binarisation peut être effectuée en utilisant une quelconque technique connue qui peut être largement classifiée en approches globales, approches par régions, approches locales, approches hybrides ou des variations de celles-ci. Dans un exemple de mise en œuvre, la binarisation d'image est effectuée en utilisant la binarisation de Sauvola. Dans cette technique, la binarisation est effectuée sur la base de petits morceaux d'image. Lors de l'analyse des statistiques du morceau d'image local, un seuil de binarisation est déterminé en utilisant la formule suivante:
............[1] où m et s sont respectivement des écarts moyen et type locaux, R est la valeur maximale de l'écart type; et k est le paramètre contrôlant la valeur seuil. Le paramètre k peut être choisi en fonction de l'image de document. Dans un mode de réalisation, k peut être réglé manuellement. Dans un autre mode de réalisation, le paramètre k peut être réglé automatiquement en fonction des caractéristiques du texte de l'image de document. À l'étape 103, un prétraitement ultérieur peut être effectué sur l'image binarisée 112. Le prétraitement d'image ultérieur peut requérir l'effacement de composants connectés noirs horizontaux très longs et minces. Le prétraitement d'image ultérieur peut aussi comprendre un détachage, qui est l'effacement de petits points. Le résultat de cette étape 103 est une image binarisée améliorée 114. À l'étape 104, l'image binarisée 112 (ou l'image binarisée améliorée 114 si elle est disponible) peut être rognée pour éliminer les colonnes blanches à gauche et à droite (s'il y en a). Le résultat est une image rognée 116. À l'étape 105, les pixels noirs à l'extérieur de la ligne de texte centrale peuvent être éliminés de l'image rognée 116. La détermination de la ligne de texte centrale pour créer comme sortie une image de ligne de texte centrale 118 est décrite de manière plus détaillée ci-dessous. À l'étape 106, la ligne de texte centrale dans l'image de ligne de texte centrale 118 est corrigée en une ligne droite de caractères. La création d'une image de ligne droite 120 à partir d'une ligne ondulée est décrite de manière plus détaillée ci-dessous.
En référence à la figure 3, celle-ci montre un exemple du déroulement des opérations 100 décrit ci-dessus en rapport avec la figure 2a. L'image acquise 110 est binarisée pour donner l'image binarisée 112. L'image binarisée 112 est éventuellement améliorée en éliminant de longs composants connectés noirs horizontaux, ce qui a pour résultat l'image binarisée améliorée 114. L'image binarisée améliorée 114 est ensuite rognée pour devenir l'image rognée 116. Partant de l'image rognée 116, les composants ou pixels noirs à l'extérieur de la ligne de texte centrale sont éliminés ou remplacés par des composants blancs pour former l'image de ligne de texte centrale 118. En ce qui concerne l'image de ligne de texte centrale 118, celle-ci est redressée pour devenir une ligne de texte centrale redressée et l'image de ligne de texte centrale redressée 120 est formée.
Le déroulement des opérations 100 (figure 2a) peut comprendre une étape pour corriger des distorsions dues à la vitesse instantanée variable du dispositif de numérisation à main par rapport à l'image en cours de numérisation ou d'acquisition. La correction de la vitesse variable 126 peut être effectuée au début du déroulement des opérations de la figure 2a, c'est-à-dire avant la binarisation. Cela est illustré sur la figure 2b. La sortie est une image acquise à vitesse variable corrigée 128 qui est à présent l'entrée pour la binarisation à l'étape 102. En variante, la correction de la vitesse variable 146 peut être effectuée à la fin du déroulement des opérations de la figure 2a, c'est-à-dire après que l'image de ligne droite a été créée et donc avec l'image de ligne droite comme entrée pour la correction de l'étape de correction de la vitesse. La sortie est une image de ligne droite à vitesse variable corrigée 148. Cela est illustré sur la figure 2b. La correction de distorsions dues à la vitesse instantanée variable est connue dans l'état de la technique et toutes les méthodes connues de correction de la vitesse variable peuvent être combinées avec la présente invention. En fonction du type de dispositif de numérisation à main, la correction de la vitesse de numérisation instantanée est effectuée avant la binarisation (voir figure 2b) ou comme une dernière étape de prétraitement d'image (voir figure 2c).
Des essais ont montré que le fait de combiner la correction telle que décrite en 2A avec la correction de la vitesse instantanée décrite dans US6965703 où la correction de la vitesse instantanée est effectuée à la fin comme illustré sur la figure 2c fournit une image qui donne des résultats très exacts dans des processus de reconnaissance de caractères ultérieurs. Pour la description de la méthode de correction de la vitesse US6965703, nous renvoyons au document US6965703 publié dont nous intégrons le contenu par référence.
La figure 4 illustre un déroulement des opérations 200 correspondant à l'étape 105 dans le déroulement des opérations 100. Dans ce déroulement des opérations, les pixels noirs (ou tout autre type de composants prédéterminés dans l'image binarisée) à l'extérieur de la ligne centrale sont éliminés. À l'étape 201, une image de travail de départ 210 peut être créée en copiant l'image rognée. À l'étape 202, une distance maximale entre mots T1 est estimée dans l'image binarisée. Cela est discuté plus en détail ci-dessous. À l'étape 203, les espaces blancs horizontaux plus petits ou égaux à la distance maximale entre mots dans l'image de travail de départ 210 sont mis en noir. Le résultat de l'étape 203 est une image de travail 212. À l'étape 204, l'image de travail 212 est utilisée pour construire une liste de composants connectés blancs, chaque composant connecté blanc étant décrit par une liste de triplets (X, Ys, Ye) dans laquelle X indique la colonne X, Ys le début du composant connecté dans la colonne X et Ye la fin du composant connecté dans la colonne X. Les triplets (X, Ys, Ye) de chaque composant connecté sont ensuite stockés dans une liste globale pour tous les triplets de tous les CC dans l'image de travail 212, les triplets étant ordonnés de gauche à droite et de haut en bas. À l'étape 205, une distance entre lignes T2 est estimée en utilisant la liste globale de triplets créée à l'étape précédente. À l'étape 206, la distance estimée entre lignes T2 est utilisée pour sélectionner une série de composants connectés blancs au-dessus d'une ligne de texte centrale et une série de composants connectés blancs en dessous de la ligne de texte centrale. Cela sera décrit de manière plus détaillée ci-dessous.
Après l'étape 206, le système peut contrôler, à l'étape 211, si une série de composants connectés blancs au-dessus et une série de composants connectés blancs en dessous d'une ligne de texte centrale sont détectées. Si cette condition n'est pas remplie ("non"), la distance maximale entre mots T1 est ré-estimée à l'étape 218, p. ex. une plus grande valeur de la distance maximale entre mots T1 peut être prise. Si cette condition est remplie ("oui"), le déroulement des opérations passe à l'étape 207. À l'étape 207, pour chaque colonne correspondant à chaque triplet de la série de composants connectés blancs au-dessus de la ligne centrale déterminée, les pixels noirs au-dessus de (Ys + Ye)/2 sont changés en blancs, et pour chaque colonne correspondant à chaque triplet de la série de composants connectés blancs en dessous de la ligne déterminée, les pixels noirs en dessous de (Ys + Ye)/2 sont changés en blancs. L'image qui en résulte est une image avec seulement la ligne centrale déterminée en pixels noirs, appelée l'image de ligne de texte centrale 118.
Le système peut éventuellement comprendre les étapes 208 et 209 comme illustré sur la figure 5. À l'étape 208, une couleur d'arrière-plan est calculée en déterminant, dans l'image numérisée ou acquise 110, les composants correspondant à des composants blancs dans l'image binarisée 112. La couleur d'arrière-plan calculée est, par exemple, la moyenne de tous les composants dans l'image acquise 110 correspondant aux composants blancs dans l'image binarisée 112. À l'étape 209, les composants dans l'image acquise 110 au-dessus de la ligne centrale déterminée et au-dessus de (Ys + Ye)/2 sont remplacés par la couleur d'arrière-plan calculée de l'étape 208, et les composants dans l'image acquise 110 en dessous de la ligne centrale déterminée et en dessous de (Ys + Ye)/2 sont remplacés par la couleur d'arrière-plan calculée. Le résultat est un image de ligne de texte centrale en niveaux de gris ou en couleur 224 sur laquelle la ligne centrale est isolée. Ce faisant, l'image de ligne de texte centrale en niveaux de gris ou en couleur 224 peut être utilisée pour corriger la linéarité de la ligne de texte centrale. Si, cependant, l'étape 208 et l'étape 209 ne sont pas effectuées, la linéarité de la ligne centrale est corrigée sur l'image de ligne de texte centrale (binarisée) 118 (comme décrit ci-dessus en référence à la figure 2a).
La figure 6 illustre un déroulement des opérations 300 pour déterminer une première valeur estimée pour la distance maximale entre mots utilisée à l'étape 202 du déroulement des opérations 200. À l'étape 310, dans l'image rognée 116, tous les espaces de ligne blancs sont déterminés et un histogramme de leurs longueurs est calculé. À l'étape 312, l'histogramme est utilisé pour déterminer une première estimation de la distance maximale entre mots T-ι à utiliser à l'étape 202 du déroulement des opérations 200 (figure 4).
En référence à la figure 7, celle-ci illustre un déroulement des opérations 400 qui correspond à l'étape 205 dans le déroulement des opérations 200 (figure 4). Dans ce déroulement des opérations 400, une première valeur pour la distance entre lignes T2 est déterminée. Comme décrit ci-dessus, à l'étape 204, une liste de triplets, ordonnés de gauche à droite et de haut en bas, est créée. Pour chaque colonne, à l'étape 410, les triplets de la colonne sont déterminés dans la liste. Il s'agit de triplets avec la même valeur pour X. S'il n'existe aucune autre colonne, le déroulement de processus passe à l'étape 416 comme cela sera décrit de manière plus détaillée ci-dessous. À l'étape 412, pour chaque colonne X, la distance Q est déterminée entre débuts subséquents des triplets Ys, et Ys+1. À l'étape 414, pour chaque distance Q déterminée, cette distance Q est ajoutée au paramètre SUM et le paramètre d'incrément N est augmenté de 1. Après avoir augmenté le paramètre N, il y a une boucle de retour à l'étape 412. À l'étape 412, si aucune autre distance entre débuts subséquents de triplets ne doit être calculée, le déroulement des opérations passe à l'étape 415 et la distance Q entre fins subséquentes des triplets Yej et Yei+1 est déterminée. À l'étape 418, pour chaque distance Q déterminée, cette distance Q est également ajoutée au paramètre SUM et le paramètre d'incrément N est augmenté de 1. L'étape 418 se termine en revenant à l'étape 415. À l'étape 415, si aucune autre distance Q entre fins subséquentes de triplets ne doit être calculée, le déroulement des opérations revient à l'étape 410 et une colonne X+1 subséquente sera traitée. S'il n'y a pas d'autre colonne, le déroulement des opérations passe à l'étape 416. À l'étape 416, le paramètre SUM est divisé par le paramètre d'incrément N. La valeur qui en résulte est une première estimation de la distance entre lignes T:.
Les figures 8a et 8b illustrent un déroulement des opérations 500 correspondant à l'étape 206 dans le déroulement des opérations 200 (figure 4). Dans ce déroulement des opérations, la distance entre lignes T2 estimée est utilisée pour déterminer deux séries de composants connectés blancs et une ligne centrale, une série de composants connectés blancs étant au-dessus et une série de composants connectés blancs étant en dessous de la ligne de texte centrale déterminée. À l'étape 510, des composants connectés blancs CCn pour lesquels le côté gauche correspond au côté gauche de l'image binarisée rognée sont sélectionnés. À l'étape 512, en partant de la sélection de composants connectés blancs CCn, des couples [CQ, CQ] sont formés, lesquels couples remplissent les conditions suivantes: - CQ est au-dessus de CQ ; et - la distance entre le point central du triplet le plus à gauche de CCj et le point central du triplet le plus à gauche de CC, est entre (T2 - D) et (T2 + D), D étant un facteur de tolérance et T2 étant la distance entre lignes estimée à l'étape 205 (Figure 4). À l'étape 514, pour chaque couple [CQ, CQ] formé à l'étape 512, un point central Yij est calculé comme étant le centre entre la fin Yej du triplet le plus à gauche de CQ et le début YSj du triplet le plus à gauche de CQ. Cela est illustré sur la figure 9b. Puis, le point central Ym de la colonne la plus à gauche de l'image rognée est déterminé. Ensuite, le couple [CC, CQ] pour lequel Yij est le plus proche de Ym est sélectionné: couple [CC, CQ] sélectionné. À l'étape 518, il est vérifié si la colonne la plus à droite de CQ est au niveau de la colonne la plus à droite de l'image rognée. Le résultat de l'étape 518 peut être oui ou non comme illustré au début de la figure 8b.
Si le résultat de l'étape 518 est non, à l'étape 520, la position de la colonne la plus à droite de CQ dans l'image rognée est déterminée. Cette colonne est indiquée colonne Xp sur la figure 10. Puis, le point central Ym(Xp) du triplet de CCi pour la colonne Xp est déterminé. À l'étape 522, le système identifie des composants connectés blancs CCk pour lesquels le triplet le plus à gauche recouvre en partie une rangée de composants jusqu'au point central Ym(Xp). Si plus d'un est trouvé, les composants connectés CCk pour lesquels le triplet le plus à gauche est au niveau de la colonne Xq la plus proche de la colonne Xp sont sélectionnés. Xq et CCk sont illustrés sur la figure 10. À l'étape 524, les composants connectés blancs CC, et CCk sont connectés en ajoutant aux triplets de CC, de longueur un de Xp+1 à Xq_i. Cela correspond aux triplets (Xp+1, Ym, Ym+1) jusqu'à (Xq_i, Ym, Ym-1). Cela est illustré sur la figure 10. En ajoutant ces triplets de longueur un, CC, est également agrandi par les triplets de CCk. Si aucun CCk n'est trouvé, CC, est agrandi en ajoutant les triplets (Xp+1, Ym, Ym+1) jusqu'à (Xr, Ym, Ym+1), r étant la colonne la plus à droite de l'image rognée.
Après l'étape 524, il est de nouveau vérifié à l'étape 518 si le triplet le plus à droite du CC, (agrandi) est au niveau de la colonne la plus à droite de l'image rognée.
Si ce n'est pas le cas, le système est à nouveau à l'étape 520 pour les composants connectés CC,.
Si c'est le cas, le système répète les étapes 518 à 524 pour le deuxième composant connecté CCj du couple sélectionné [CCh CCJ. Cela peut se faire, par exemple, en vérifiant si les deux composants connectés CC, et CC, du couple sélectionné ont le triplet le plus à droite au niveau de la colonne la plus à droite de l'image rognée comme illustré à l'étape 526 sur la figure 8b. Si à l'étape 526 la réponse est non, alors l'étape 518 est démarrée pour CCj. À l'étape 518, il est vérifié si le triplet le plus à droite de CCj est au niveau de la colonne la plus à droite de l'image rognée et les étapes 520 à 524 sont exécutées pour CCj.
Si le résultat de l'étape 526 est oui, alors deux composants connectés blancs CC, et CCj sont identifiés dont un est au-dessus et un est en dessous de la ligne centrale. En d'autres termes, le déroulement des opérations 500 a identifié la ligne centrale dans l'image de travail.
Ce déroulement des opérations est particulièrement utile dans des situations où deux lignes de texte subséquentes sont connectées dans l'image acquise comme illustré sur la figure 11. Sur la figure 11, l'image acquise a une connexion entre le caractère p et le caractère I. Ce déroulement des opérations 500 corrigera cela et améliore ainsi l'exactitude de tout processus de ROC sur l'image numérisée.
La comparaison de la ligne centrale dans l'image de travail avec l'image binarisée rognée fournit l'emplacement de la ligne centrale dans l'image binarisée rognée. Cela a pour résultat une image rognée avec seulement une ligne de texte centrale, c'est-à-dire l'image de ligne de texte centrale 118.
La figure 12 illustre un déroulement des opérations 600 correspondant à l'étape 106 dans le déroulement des opérations 100. Le déroulement des opérations 600 redresse la ligne de texte centrale dans l'image de ligne de texte centrale 118. En variante, le déroulement des opérations 600 peut être exécuté sur l'image de ligne de texte centrale en niveaux de gris ou en couleur 224 comme discuté ci-dessus. À l'étape 610, l'image de ligne de texte centrale 118 est floutée par un grand rayon de flou (blur radius). Pour une image en noir et blanc, le résultat du floutage est une image en niveaux de gris. À l'étape 612, pour chaque colonne, le centre de gravité des composants gris dans chaque colonne est déterminé. La connexion des centres de gravité dans chaque colonne subséquente crée une ligne de centres de gravité. À l'étape 614, la ligne de centres de gravité est utilisée pour créer une ligne centrale droite dans l'image de ligne de texte centrale 118 non floutée correspondante. Cela peut être réalisé en faisant effectuer une translation aux colonnes de manière que la ligne de centres de gravité devient une ligne horizontale droite.
Dans une variante du procédé, la ligne de centres de gravité est rendue rectiligne en faisant effectuer une translation et une rotation à chaque composant connecté noir de la ligne de texte. Chaque composant connecté noir est tourné d'un angle correspondant à l'angle de la ligne de centres de gravité au centre de gravité de la colonne centrale CC par rapport à la ligne horizontale droite désirée.
Le dispositif de numérisation à main 1 de la figure 1 peut être utilisé dans de nombreuses applications et configurations. La figure 13 illustre un système 2000 dans lequel le dispositif de numérisation à main 1 peut être utilisé avec un dispositif mobile 2112 et dans lequel le dispositif mobile peut être connecté à un ordinateur à distance 1020. Le système 2000 comprend le dispositif de numérisation à main 1, un dispositif mobile 2112, un ordinateur à distance 1020, une connexion entre le dispositif de numérisation à main 1 et le dispositif mobile 2112 et une connexion 1015 entre le dispositif mobile 2112 et l'ordinateur à distance 1020. Le dispositif de numérisation à main 1 peut numériser un texte présent sur un support physique (non représenté) comme un document papier (par exemple une feuille de papier) ou un objet.
Le dispositif de numérisation à main 1 peut être un stylo numériseur avec un capteur optique, et le dispositif mobile 2112 peut être un terminal mobile multifonction tel qu'un smartphone ou une tablette. Le dispositif de numérisation à main 1 et le dispositif mobile 2112 sont connectés soit par une connexion câble ou une connexion sans fil.
La connexion 1015 entre le dispositif mobile 2112 et l'ordinateur à distance 1020 est de préférence au moins en partie sans fil. La connexion 1015 se fait de préférence au moins en partie par une connexion de réseau cellulaire. La connexion 1015 peut utiliser, au moins en partie, une connexion internet. L'ordinateur à distance 1020 peut être un serveur dédié. L'ordinateur à distance 1020 peut être "dans le Cloud" et peut comprendre au moins un ordinateur d'un service informatique du Cloud, un service informatique du Cloud étant un pool partagé de ressources informatiques configurables. L'ordinateur à distance 1020 peut aussi être un ordinateur situé dans le même bâtiment que l'utilisateur du dispositif mobile 2112. L'ordinateur à distance 1020 comprend une mémoire 1021.
La figure 14 montre un organigramme d'un déroulement des opérations 1100 pour obtenir des informations de texte 1105 et/ou des informations de texte classifiées à partir d'un texte sur un support physique 1101. Le texte sur le support physique 1101 est numérisé par le dispositif de numérisation à main 1. L'étape de numérisation 1102 produit une image acquise 1103 qui est une image numérique. L'image acquise 1103 peut être une image en noir et blanc, en niveaux de gris ou en couleur. L'image acquise 1103 est utilisée comme entrée pour le traitement d'image 1200 et a pour résultat au moins une image de ligne droite 1104. Le prétraitement d'image 1200 comprend la correction des distorsions décrite ci-dessus et peut comprendre d'autres processus de prétraitement. L'image de ligne droite 1104 est une image en noir et blanc, en niveaux de gris ou en couleur contenant une chaîne de caractères, qui peut comprendre une ligne ou une colonne de caractères. L'image de ligne droite 1104 est une image numérique.
Les caractères dans l'image de ligne droite 1104 sont de préférence dans une chaîne de caractères alignés en une ligne droite. L'image de ligne droite 1104 est utilisée comme entrée pour l'étape de ROC 1300. L'étape de ROC 1300 est un processus dans lequel les caractères sont identifiés selon l'une des méthodes connues dans l'état de la technique. L'étape de ROC 1300 a pour résultat des informations de texte 1105. Les informations de texte 1105 peuvent, en option, être utilisée dans un processus d'extraction de données 1801. Dans un processus d'extraction de données, les informations de texte sont comparées avec des bases de données ou des tables pour déterminer des informations supplémentaires à propos des informations de texte afin que les informations de texte puissent être classifiées. L'étape d'extraction de données 1801 produit des informations de texte classifiées 1802.
Les informations de texte 1105 incluent de préférence l'ID (identification) des caractères de l'image de ligne droite 1104. L'ID d'un caractère est une reconnaissance du caractère en code lisible par machine de telle manière que les informations de texte 1105 comprennent de préférence une chaîne de caractères consultable. Les informations de texte 1105 peuvent inclure plusieurs ID possibles des caractères de l'image de ligne droite 1104, avec éventuellement une probabilité associée à chacune des ID possibles. Elles fournissent des solutions alternatives pour l'identification d'un caractère ou d'un groupe de caractères.
Le terme "caractère" tel qu'utilisé dans le présent document se réfère à un symbole ou signe utilisé dans l'écriture comme un graphème, un logogramme, une lettre alphabétique, une ligature typographique, un caractère numérique ou un signe de ponctuation.
Dans un mode de réalisation de l'invention, la numérisation 1102 est effectuée par le dispositif de numérisation à main 1 et le prétraitement 1200 et la ROC 1300 sont effectuées par l'ordinateur à distance 1020. Cela présente l'avantage qu'aucun traitement de données lourd et/ou spécifique ne doit être effectué sur le dispositif de numérisation à main 1 ou sur le dispositif mobile 2112. Cela signifie que le dispositif de numérisation à main 1 et le dispositif mobile 2112 peuvent par conséquent être bon marché et légers. Dans un tel système, l'image numérisée est envoyée à l'ordinateur à distance via le dispositif mobile. Si les informations qui en résultent sont des informations dont a besoin une application tournant sur le dispositif mobile, l'ordinateur à distance renvoie le résultat du processus au dispositif mobile après prétraitement et identification des caractères.
Dans un autre mode de réalisation de l'invention, la numérisation 1102 est effectuée par le dispositif de numérisation à main 1, le prétraitement 1200 est effectué par le dispositif mobile 2112 et la ROC 1300 est effectuée par l'ordinateur à distance 1020. Comme la ROC 1300 fait partie du déroulement des opérations 1100 qui requiert le plus de puissance de calcul et de ressources de mémoire, et quelquefois l'utilisation d'une ou plusieurs bases de données, il peut être avantageux d'effectuer la ROC sur un dispositif puissant, tel que par exemple dans le Cloud en utilisant un service de traitement du Cloud. Il se peut que le dispositif mobile 2112 se connecte à la mémoire 1021 de l'ordinateur à distance 1020 pour obtenir des données pendant qu'il effectue la ROC 1300.
Dans un autre mode de réalisation de l'invention, la numérisation 1102 et le prétraitement 1200 sont effectués par le dispositif de numérisation à main 1 et la ROC 1300 est effectuée par l'ordinateur à distance 1020.
Dans un mode de réalisation de l'invention, un utilisateur peut choisir les étapes du déroulement des opérations 1100 qui doivent être effectuées par le dispositif mobile 2112 et les étapes qui doivent être effectuées par l'ordinateur à distance 1020. L'utilisateur peut indiquer son choix avant l'étape de numérisation 1102, entre l'étape de numérisation 1102 et l'étape de prétraitement d'image 1200, ou entre l'étape de prétraitement 1200 et l'étape de ROC 1300. Ce choix peut être communiqué par l'utilisateur au système 2000 par un actionneur, tel qu'une icône, un commutateur ou un bouton sur le dispositif mobile 2112 ou sur le dispositif de numérisation à main 1. Par exemple, si l'utilisateur connaît la langue du texte à identifier, l'utilisateur peut savoir, en fonction de la langue, si la ROC peut être effectuée avec le processus de reconnaissance de caractères moins puissant tournant sur le dispositif mobile ou si la ROC pourrait être mieux effectuée avec le processus de reconnaissance de caractères plus puissant tournant sur l'ordinateur à distance. Dans un autre exemple, l'utilisateur peut savoir si le type de caractères peut être numérisé pour être reconnu par la ROC moins puissante installée sur le dispositif mobile 2112 ou s'il faut une ROC plus puissante installée sur l'ordinateur à distance. L'utilisateur peut prendre la décision, dans cet exemple, d'effectuer l'étape de ROC sur le dispositif mobile ou sur l'ordinateur à distance 1020.
Dans un autre mode de réalisation, une application est mise en œuvre et tourne sur le dispositif mobile qui est en charge du traitement de l'application. L'utilisateur sélectionne sur le dispositif mobile la langue du texte à reconnaître dans cette application. Sur la base de la sélection de la langue, l'application passe par un déroulement des opérations et décide des étapes qui seront effectuées sur le dispositif mobile et des étapes qui seront effectuées sur l'ordinateur à distance. L'application communique avec l'ordinateur à distance si nécessaire.
Dans certains modes de réalisation de l'invention, un processus d'extraction de données 1801 est effectué sur les informations de texte. Quel que soit le dispositif qui a effectué le prétraitement 1200 et la ROC 1300, le processus d'extraction de données 1801 est de préférence effectué sur l'ordinateur à distance 1020 parce qu'il requiert une ou plusieurs importantes bases de données et d'importantes ressources de calcul. Le processus d'extraction de données 1801 peut être effectué par un logiciel de reconnaissance intelligente de données (RID) connu dans l'état de la technique, tournant sur l'ordinateur à distance 1020. Ce logiciel de RID peut être utilisé, par exemple, pour entrer les données d'une facture dans un système ERP (planification des ressources de l'entreprise).
Dans un mode de réalisation préféré de l'invention, si les informations de texte 1105 sont identifiées sur l'ordinateur à distance 1020, l'ordinateur à distance 1020 envoie les informations de texte identifiées au dispositif mobile 2112 et le dispositif mobile 2112 peut afficher les informations de texte sur un affichage du dispositif mobile 2112.
De manière similaire, quand un processus d'extraction de données 1801 est effectué sur l'ordinateur à distance 1020, les informations de texte classifiées 1802 peuvent être envoyées par l'ordinateur à distance 1020 au dispositif mobile 2112 et le dispositif mobile 2112 peut afficher les informations de texte classifiées sur l'affichage du dispositif mobile 2112.
La figure 15 illustre un déroulement des opérations 1500 impliquant une étape de décision entre la réalisation de la ROC sur le dispositif mobile et la réalisation de la ROC sur l'ordinateur à distance, selon un mode de réalisation de l'invention. Dans ce mode de réalisation, le dispositif mobile 2112 a une mémoire et une puissance de traitement suffisantes pour exécuter un processus de ROC qui ne requiert pas une puissance de traitement trop grande.
Sur la base de l'image de ligne droite 1104 obtenue après le prétraitement 1200, ou sur la base d'un choix de l'utilisateur, une décision 1501 est prise d'effectuer la ROC de l'image de ligne droite 1104 localement sur le dispositif mobile 2112 (étape 1510) ou à distance sur l'ordinateur à distance 1020 (étape 1520). La décision 1501 d'effectuer la ROC localement ou à distance peut dépendre de situations prédéterminées telles que dans une première situation prédéterminée, une première ROC 1510, tournant sur le dispositif mobile 2112, effectue l'étape de ROC, tandis que dans une deuxième situation prédéterminée, une deuxième ROC 1520, sur l'ordinateur à distance 1020, effectue l'étape de ROC. Peu importe où la ROC est effectuée, le déroulement des opérations 1500 a pour résultat les informations de texte 1105 comme illustré sur la figure 15.
La décision 1501 d'effectuer la ROC localement ou à distance peut être prise par l'utilisateur sur le dispositif mobile 2112. L'utilisateur peut baser sa décision sur la connaissance de la langue à identifier, sur le souhait d'exactitude ou sur le type de document.
En variante, la décision 1501 d'effectuer la ROC localement ou à distance peut être prise automatiquement par le dispositif mobile 2112. Le dispositif mobile 1501 peut vérifier l'existence de la connexion 1015 (figure 13) et, s'il n'y a pas de connexion 1015, la ROC peut être effectuée par le dispositif mobile 2112 si le dispositif mobile 2112 est capable de la faire. S'il y a une connexion 1015, le dispositif mobile peut décider d'effectuer la ROC sur l'ordinateur à distance.
Dans un mode de réalisation préféré, la décision 1501 d'effectuer la ROC localement ou à distance peut tenir compte de la langue du texte à reconnaître, ladite langue pouvant être établie par l'utilisateur sur le dispositif mobile 2112. Par exemple, l'utilisateur peut sélectionner dans une application tournant sur le dispositif mobile la langue du texte. Sur cette base, l'application détermine si la ROC est effectuée sur le dispositif mobile ou sur l'ordinateur à distance.
Dans un autre mode de réalisation préféré, la décision 1501 d'effectuer la ROC localement ou à distance peut comprendre une tentative de reconnaissance d'un type de caractère sur le dispositif mobile 2112. Par exemple, le dispositif mobile 2112 peut avoir le logiciel requis pour reconnaître certains types de caractères dans un premier ensemble de types de caractères et d'effectuer la ROC pour certains types de caractères dans un deuxième ensemble de types de caractères, le premier et le deuxième ensembles de types de caractères étant les mêmes. Si le dispositif mobile 2112 ne reconnaît pas dans l'image de ligne droite 1104 un type de caractères, des caractères latins par exemple, pour lequel il est capable d'effectuer une ROC, il envoie l'image de ligne droite 1104 à l'ordinateur à distance 1020 afin que la ROC 1520 y soit effectuée et, si le dispositif mobile 2112 reconnaît dans l'image de ligne droite 1104 un type de caractères pour lequel il est capable d'effectuer une ROC, il effectue la ROC.
En variante, la décision 1501 d'effectuer la ROC localement ou à distance peut être basée sur un compromis entre vitesse et exactitude. Si l'utilisateur a indiqué que l'accent est mis sur une exactitude élevée dans la ROC, la décision 1501 sera que la ROC soit effectuée sur l'ordinateur à distance 1520, et si l'utilisateur a indiqué que l'accent est mis sur une vitesse élevée, la décision 1501 sera que la ROC soit effectuée sur le dispositif mobile 1510.
Une ROC sur le dispositif mobile 1510 et une ROC sur l'ordinateur à distance 1520 peuvent être différentes, la ROC sur le dispositif mobile 1510 étant développée pour des ressources de traitement et de mémoire limitées sur le dispositif mobile 1510, et la ROC sur l'ordinateur à distance 1520 étant développée pour une exactitude élevée qui requiert plus de ressources de traitement.
Il est également possible qu'une décision d'effectuer le processus localement / à distance soit prise avant le prétraitement 1200, éventuellement sur la base de l'image acquise 1103. Dans ce cas, le prétraitement 1200 et la ROC 1300 sont effectués tous les deux sur le dispositif mobile 2112 ou sur l'ordinateur à distance 1020.
Le processus de décision 1501 ouvre de nombreuses possibilités d'optimiser le processus de numérisation et de ROC. Par exemple, si un utilisateur doit numériser et reconnaître alternativement des morceaux de texte en chiffres arabes et des morceaux de texte en caractères asiatiques, la ROC pour chiffres arabes peut être installée et effectuée sur le dispositif mobile 1510, parce qu'une ROC de chiffres arabes peut être effectuée par un processus de ROC requérant moins de mémoire et de ressources de calcul, tandis que la ROC pour caractères asiatiques peut être effectuée par un processus de ROC sur l'ordinateur à distance 1020, parce que les processus de ROC pour caractères asiatiques requièrent typiquement plus de ressources et de mémoire. Si l'utilisateur veut changer entre une ROC locale et à distance, c'est également possible avec l'option que cette décision soit prise automatiquement.
Les figures 16 et 17 illustrent comment le dispositif de numérisation à main 1 peut être utilisé pour sélectionner des informations dans un document papier tel qu'une facture 2200. Par exemple, il peut être utilisé pour entrer les données d'une facture dans un système ERP. Les figures 16 et 17 sont décrites en parallèle avec la figure 18 illustrant un déroulement des opérations 1800 correspondant pour sélectionner des informations sur un document physique ou un objet.
Le dispositif mobile 2112 fait tourner une application, par exemple une APP pour RID, de préférence liée à un logiciel de RID tournant sur l'ordinateur à distance 1020. Le dispositif mobile 2112 affiche une pluralité de paramètres à entrer dans ΓΑΡΡ RID pour la RID de la facture 2200, à savoir un nom 2001 du document, une date 2002, une quantité 2003, une devise 2004 et un numéro de TVA 2005. L'interface de ΓΑΡΡ affiche également des champs vides 2011,2012, 2013, 2014, 2015 à remplir avec ces paramètres. L'interface de ΓΑΡΡ donne une indication du type d'informations à sélectionner 1151, par exemple en affichant une barre dans le champ vide 2011 pour le nom, en mettant en évidence le champ à sélectionner ou toute autre indication. Le type d'informations peut être un nom (p. ex. nom de fournisseur), une date, une quantité, une devise, un numéro de TVA, une adresse email, une adresse géographique, un compte bancaire ou une quelconque chaîne de caractères,... L'utilisateur prend alors le dispositif de numérisation à main 1, sélectionne sur la facture 2200 la position du texte (ici le nom 2201) correspondant au type d'informations à sélectionner et le numérise (étape 1102). Le dispositif de numérisation à main 1 effectue la numérisation (étape 1102) qui génère des informations d'image 1152. Les informations d'image 1152 sont de préférence l'image acquise 1110 décrite ci-dessus.
Les informations d'image 1152 sont utilisées comme entrée pour une validation 1900. Si la validation 1900 est effectuée sur l'ordinateur à distance 1020, les informations d'image 1152 sont envoyées du dispositif de numérisation à main 1, via le dispositif mobile 2112, à l'ordinateur à distance 1020.
Un déroulement des opérations 1950 possible pour la validation 1900 est illustré sur la figure 19. La validation 1900 est une vérification que les informations d'image 1152 correspondent à ce qui est attendu comme type d'informations requis par l'indication du type d'informations à sélectionner 1151.
La validation 1900 peut inclure une ou plusieurs des étapes suivantes: • une comparaison d'images, • un contrôle que les informations d'image 1152 comprennent une chaîne de caractères, • un comptage du nombre de caractères, • un contrôle que les caractères comprennent un type donné de caractère, par exemple un @ pour une adresse email, • un contrôle que les caractères représentent une date, • un contrôle que les caractères sont o des nombres, o des lettres, o une chaîne d'un nombre prédéterminé de caractères, o une chaîne avec des nombres et des lettres à des endroits prédéterminés, o un type de chaîne parmi plusieurs types de chaînes, o une chaîne qui correspond à une expression habituelle.
Par exemple, pour un numéro de TVA, la validation 1900 peut contrôler que les informations d'image 1152 contiennent deux lettres et au moins un nombre de chiffres. De plus, la validation 1900 pourrait contrôler si ces deux lettres correspondent à un code de pays et éventuellement que le nombre de chiffres correspond au nombre de chiffres escompté pour un numéro de TVA de ce pays.
Par exemple, pour une date, la validation 1900 peut contrôler que le format est un des formats typiques pour une date, comprenant un nombre pour le jour, un nombre ou un nom pour le mois et un nombre pour l'année.
Par exemple, pour une quantité, la validation 1900 peut contrôler que les informations d'image 1152 contiennent un nombre.
Par exemple, pour une devise, la validation 1900 peut contrôler que les informations d'image 1152 comprennent un symbole de devise ou une abréviation de devise.
Une validation 1900 aisée comme vérifier le nombre de caractères peut être effectuée sur le dispositif mobile. Une validation 1900 plus complexe, cependant, peut de préférence être effectuée sur l'ordinateur à distance 1020. Si la validation 1900 indique que les informations d'image 1152 correspondent au type d'informations qui était requis par l'indication du type d'informations à sélectionner 1151, les informations d'image 1152 sont validées et fournissent les informations sélectionnées 1153. Les informations sélectionnées 1153 sont envoyées à ΓΑΡΡ RID sur le dispositif mobile 2112 et affichées dans le champ correspondant sur l'affchage du dispositif mobile. Par exemple, sur le champ 2011 pour le nom de la facture 2200, la validation peut se limiter à vérifier le type de caractères, ce qui peut se faire sur le dispositif mobile. Pour le champ 2015 cependant, pour lequel un numéro de TVA est à sélectionner, la validation 1900 peut être effectuée sur l'ordinateur à distance pour pouvoir vérifier si les informations numérisées correspondent à un d'une liste de numéros de TVA valides dans une table ou une base de données sur l'ordinateur à distance. En variante, au lieu de renvoyer l'information de l'ordinateur à distance au dispositif mobile, un message indiquant que les informations d'image 1152 sont validées peut être envoyé de l'ordinateur à distance 1020 au dispositif mobile 2112.
Les informations sélectionnées 1153 peuvent inclure les informations d'image 1152, par exemple si ces informations d'image 1152 sont une image numérique.
La validation 1900 peut comprendre un processus de ROC 1300 et/ou un processus d'extraction de données (RID) 1801 (représenté sur la figure 14). Si la validation 1900 comprend une ROC 1300, les informations sélectionnées 1153 incluent de préférence les informations de texte 1105 générées par la ROC 1300. Si la validation 1900 inclut une RID, la RID est de préférence effectuée par l'ordinateur à distance 1020. Dès qu'un champ est complété dans ΓΑΡΡ, l'interface de ΓΑΡΡ fournit une indication du type d'informations suivant à sélectionner (étape 1151), qui peut être la date 2002 de la facture, que l'utilisateur peut sélectionner et numériser à l'endroit 2202 de la facture. Le déroulement des opérations 1800 peut être effectué pour tous les champs 2011 - 2015 de l'interface de l'APP, lesquels correspondent aux textes 2201 - 2205 de la facture 2200. Si le déroulement des opérations 1800 ne fonctionne pas ou si les informations d'image 1152 ne sont pas validées à l'étape 1900, l'interface de l'APP peut afficher un message d'erreur demandant, par exemple, à l'utilisateur d'entrer manuellement les informations à sélectionner. Dès que le processus a été effectué pour tous les champs, l'utilisateur peut déclencher une transmission des données de la facture vers le système ERP.
Avec le déroulement des opérations 1800 décrit ci-dessus pour sélectionner des informations, il n'est nul besoin de numériser tout un document et de traiter toutes les informations avec une ROC et une RID pour déterminer un type prédéterminé d'informations tel que, par exemple, une date, une quantité, un numéro de TVA et de nombreux autres types d'informations. De plus, la validation des informations vérifie le type d'informations sélectionné par le stylo numériseur réduisant considérablement d'éventuelles erreurs.
La figure 19 illustre le déroulement des opérations 1950 pour la validation 1900 selon un mode de réalisation de l'invention. La validation 1900 inclut le prétraitement 1200 et la ROC 1300 comme décrit en référence à la figure 14.
Le prétraitement 1200 peut être effectué sur le dispositif de numérisation à main 1, le dispositif mobile 2112 ou l'ordinateur à distance 2010 comme décrit ci-dessus. La ROC 1300 peut être effectuée sur le dispositif mobile 2112 ou sur l'ordinateur à distance 2010 comme décrit ci-dessus. Si la ROC 1300 n'est pas effectuée par l'ordinateur à distance 2010, les informations de texte 1105 sont envoyées à l'ordinateur à distance pour être utilisées comme entrée pour un contrôle 1401 avec une base de données présente dans la mémoire 1021 (représenté sur la figure 13).
Dans le déroulement des opérations 1950 pour la validation 1900, les informations de texte 1105 incluent de préférence toutes les ID possibles des caractères de l'image de ligne droite 1104 déterminées pendant la ROC 1300, avec la probabilité associé à chacune d'elle.
Le contrôle 1401 peut être effectué par un logiciel RID tournant sur l'ordinateur à distance 2010 et connecté à l'APP RID tournant sur le dispositif mobile 2112. Le contrôle 1401 avec une base de données compare les informations de texte 1105 avec des chaînes de caractères contenues dans une base de données. Le contrôle 1401 commence de préférence en cherchant une correspondance entre une chaîne de caractères dans une base de données et l'ID la plus probable de caractères dans les ID des informations de texte 1105. S'il n'y a pas de correspondance, une recherche floue peut être effectuée pour trouver, parmi toutes les ID des caractères compris dans les informations de texte 1105, une ID qui correspond à une chaîne de caractères présente dans la base de données. Cette ID est alors considérée comme l'information sélectionnée 1153.
Par exemple, si le champ correspondant à l'indication du type d'informations à sélectionner 1151 est "nom du fournisseur de facture", l'identification avec la plus haute probabilité dans les informations de texte 1105 est Lowson et la base de données comprend une liste de fournisseurs qui ne comprend pas Lowson mais bien Lawson, la recherche floue est capable de trouver le nom Lawson et de renvoyer une "correspondance". S'il y a une correspondance entre les informations de texte 1105 et une chaîne de caractères, la validité des informations d'image 1152 est confirmée 1403. La confirmation est envoyée au dispositif mobile 2112. Les informations de texte 1105 sont alors de préférence envoyées au dispositif mobile 2112, s'il ne les pas déjà, et sont affichées par l'interface de ΓΑΡΡ RID.
Si la base de données contient des informations additionnelles correspondant aux informations de texte 1105, ces informations additionnelles peuvent également être produites et envoyées au dispositif mobile 2112 ou utilisées pour un traitement ultérieur, par exemple une RID, sur l'ordinateur à distance 1020. Par exemple, la base de données peut comprendre une liste de numéros de TVA et apparie numéros de TVA et noms de fournisseur. Si les informations de texte 1105 comprennent un numéro de TVA de la liste, le nom du fournisseur correspondant peut être produit. S'il n'y a pas de correspondance, un message d'erreur 402 est produit, envoyé au dispositif mobile 2112 et affiché sur le dispositif mobile 2112. Un tel message d'erreur peut consister, par exemple, à demander à l'utilisateur de numériser de nouveau le texte sur le support physique 1101 ou à demander à l'utilisateur d'effectuer une entrée manuelle du texte représenté sur le support physique 1101.
Claims (14)
- Revendications1. Procédé de correction d'une image acquise par dispositif de numérisation à main, dans lequel l'image a au moins une partie de texte centrale qui est distordue par un changement instantané de la direction de numérisation du dispositif de numérisation à main par rapport à une image à acquérir, le procédé comprenant les étapes de binarisation de l'image acquise par un dispositif de numérisation à main pour obtenir une image binarisée de pixels blancs et de pixels noirs, rognage de l'image binarisée pour obtenir une image rognée en éliminant les colonnes à l'extrémité gauche et à l'extrémité droite de pixels blancs uniquement, création d'une image de travail à partir de l'image rognée en remplaçant dans chaque rangée de pixels des espaces blancs inférieurs à une distance prédéterminée par des espaces noires, identification d'une ligne centrale dans l'image de travail, détermination, dans l'image rognée, des pixels correspondant à la ligne centrale dans l'image de travail comme une ligne de texte centrale pour créer une image de ligne centrale, et redressement de la ligne de texte centrale dans l'image de ligne centrale pour obtenir une image corrigée.
- 2. Procédé selon la revendication 1, dans lequel l'étape d'identification d'une ligne centrale dans l'image de travail comprend sélectionner des pixels blancs connectés pour lesquels un triplet le plus à gauche fait partie de la colonne la plus à gauche de l'image rognée, déterminer des paires de pixels blancs connectés dont la distance entre les points centraux des triplets les plus à gauche se situe dans une plage prédéterminée, sélectionner, dans les paires de pixels blancs connectés, la paire de pixels blancs connectés la plus proche du centre de l'image rognée dans la direction de la colonne, déterminer la ligne centrale comme les composants entre la paire sélectionnée de pixels blancs connectés.
- 3. Procédé selon la revendication 1, dans lequel l'étape de redressement de la ligne de texte centrale comprend flouter l'image de ligne centrale pour obtenir une image floue, déterminer un centre de gravité de pixels noirs pour chaque colonne dans l'image floue, et translater, pour chaque colonne, les centres de gravité afin que les centres de gravité forment une ligne horizontale.
- 4. Procédé selon la revendication 1, le procédé comprenant en outre l'étape d'application d'une correction de la vitesse variable à l'image acquise avant binarisation.
- 5. Procédé selon la revendication 4, dans lequel l'étape d'application d'une correction de la vitesse consiste à mesurer mécaniquement les variations de vitesse du dispositif de numérisation à main par rapport à l'image à acquérir.
- 6. Procédé selon la revendication 1, le procédé comprenant en outre l'étape d'application d'une correction de la vitesse variable à l'image corrigée pour obtenir une deuxième image corrigée.
- 7. Procédé selon la revendication 6, dans lequel la correction de la vitesse comprend le calcul de facteurs de correction locale sur la base d'informations relatives à la police de caractères.
- 8. Procédé selon la revendication 7 pour identifier des caractères dans l'image numérisée, le procédé comprenant en outre l'étape d'application d'un processus de reconnaissance de caractères à la deuxième image corrigée pour obtenir des informations de texte.
- 9. Procédé selon la revendication 8 pour identifier des informations de texte dans l'image numérisée, le procédé comprenant en outre l'étape d'application d'un processus d'extraction de données aux informations de texte pour obtenir des informations de texte classifiées.
- 10. Dispositif de numérisation à main pour numériser une image et pour prétraiter l'image à des fins de reconnaissance de formes, le dispositif comprenant un capteur optique pour numériser une image ayant au moins une partie de texte centrale, un processeur pour corriger l'image numérisée, et un stockage contenant un programme exécutable au moyen du au moins un processeur et comprenant: des premières parties de code de logiciel configurées pour binariser l'image numérisée en une image binarisée de pixels blancs et de pixels noirs, des deuxièmes parties de code de logiciel configurées pour rogner l'image binarisée en une image rognée en éliminant les colonnes à l'extrémité gauche et à l'extrémité droite de pixels blancs uniquement, des troisièmes parties de code de logiciel configurées pour créer une image de travail à partir de l'image rognée en remplaçant dans chaque rangée de pixels des espaces blancs inférieurs à une distance prédéterminée par des espaces noirs, des quatrièmes parties de code de logiciel configurées pour identifier une ligne centrale dans l'image de travail, des cinquièmes parties de code de logiciel configurées pour déterminer dans l'image binarisée ou dans l'image rognée les pixels correspondant à la ligne centrale dans l'image de travail comme une ligne de texte centrale pour créer une image de ligne centrale, et des sixièmes parties de code de logiciel configurées pour redresser la ligne de texte centrale dans l'image de ligne centrale pour obtenir une image corrigée.
- 11. Dispositif de numérisation à main selon la revendication 10, comprenant en outre un module de communication sans fil pour communiquer des images à un module de communication sans fil d'un dispositif mobile.
- 12. Système pour corriger une image ayant au moins une partie de texte centrale qui est distordue par un changement instantané de la direction de numérisation par rapport à une image à acquérir, le système comprenant au moins un processeur et un stockage associé contenant un programme exécutable au moyen du au moins un processeur et comprenant: des premières parties de code de logiciel configurées pour binariser l'image numérisée en une image binarisée de pixels blancs et de pixels noirs, des deuxièmes parties de code de logiciel configurées pour rogner l'image binarisée en une image rognée en éliminant les colonnes à l'extrémité gauche et à l'extrémité droite de pixels blancs uniquement, des troisièmes parties de code de logiciel configurées pour créer une image de travail à partir de l'image rognée en remplaçant dans chaque colonne de pixels des espaces blancs inférieurs à une distance prédéterminée par des espaces noirs, des quatrièmes parties de code de logiciel configurées pour identifier une ligne centrale dans l'image de travail, des cinquièmes parties de code de logiciel configurées pour déterminer dans l'image binarisée ou dans l'image rognée les pixels correspondant à la ligne centrale dans l'image de travail comme une ligne de texte centrale pour créer une image de ligne centrale, et des sixièmes parties de code de logiciel configurées pour redresser la ligne de texte centrale dans l'image de ligne centrale pour obtenir une image corrigée.
- 13. Système selon la revendication 12, le système comprenant un dispositif de numérisation à main pour numériser l'image et un dispositif mobile comprenant le processeur et le stockage associé.
- 14. Système selon la revendication 13, dans lequel le dispositif de numérisation à main comprend un module de communication sans fil pour communiquer avec un deuxième module de communication sans fil dans le dispositif mobile.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BE2015/5553A BE1023388B1 (fr) | 2015-08-31 | 2015-08-31 | Procédé et système pour corriger une image provenant d'un dispositif de numérisation à main |
PCT/EP2016/070550 WO2017037136A1 (fr) | 2015-08-31 | 2016-08-31 | Procédé et système pour la correction d'une image provenant d'un dispositif de balayage portatif |
EP16763732.1A EP3345126A1 (fr) | 2015-08-31 | 2016-08-31 | Procédé et système pour la correction d'une image provenant d'un dispositif de balayage portatif |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BE2015/5553A BE1023388B1 (fr) | 2015-08-31 | 2015-08-31 | Procédé et système pour corriger une image provenant d'un dispositif de numérisation à main |
Publications (2)
Publication Number | Publication Date |
---|---|
BE1023388A1 BE1023388A1 (fr) | 2017-03-01 |
BE1023388B1 true BE1023388B1 (fr) | 2017-03-01 |
Family
ID=55079921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BE2015/5553A BE1023388B1 (fr) | 2015-08-31 | 2015-08-31 | Procédé et système pour corriger une image provenant d'un dispositif de numérisation à main |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3345126A1 (fr) |
BE (1) | BE1023388B1 (fr) |
WO (1) | WO2017037136A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115439854A (zh) * | 2022-09-05 | 2022-12-06 | 深圳市学之友科技有限公司 | 一种基于扫描笔与智能终端互联的扫描显示方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11774159B2 (en) | 2018-06-28 | 2023-10-03 | Jason Fladoos | Flexible adhesive tape for cooling beverages, pipes and other articles |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998020446A1 (fr) * | 1996-11-01 | 1998-05-14 | C Technologies Ab | Procede et dispositif d'enregistrement |
-
2015
- 2015-08-31 BE BE2015/5553A patent/BE1023388B1/fr active
-
2016
- 2016-08-31 EP EP16763732.1A patent/EP3345126A1/fr active Pending
- 2016-08-31 WO PCT/EP2016/070550 patent/WO2017037136A1/fr active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998020446A1 (fr) * | 1996-11-01 | 1998-05-14 | C Technologies Ab | Procede et dispositif d'enregistrement |
Non-Patent Citations (2)
Title |
---|
"Handbook of Character Recognition and Document Image Analysis", 1 January 1997, WORLD SCIENTIFIC PUBLISHING, Singapore, ISBN: 978-981-0222-70-3, article A. LAWRENCE SPITZ: "Chapter 9: Multilingual Document Recognition, Section 3: Text Image Processing", pages: 263 - 268, XP055270677 * |
NAFIZ ARICA ET AL: "An Overview of Character Recognition Focused on Off-Line Handwriting", IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: PART C:APPLICATIONS AND REVIEWS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 31, no. 2, 1 May 2001 (2001-05-01), pages 216 - 233, XP011057236, ISSN: 1094-6977, DOI: 10.1109/5326.941845 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115439854A (zh) * | 2022-09-05 | 2022-12-06 | 深圳市学之友科技有限公司 | 一种基于扫描笔与智能终端互联的扫描显示方法 |
Also Published As
Publication number | Publication date |
---|---|
BE1023388A1 (fr) | 2017-03-01 |
EP3345126A1 (fr) | 2018-07-11 |
WO2017037136A1 (fr) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220261867A1 (en) | System and Method to Create Listings Using Image and Voice Recognition | |
US10817971B2 (en) | System and method for embedding of a two dimensional code with an image | |
BE1022636B1 (fr) | Procede et methode de correction de distorsions projectives avec des etapes d'elimination a des multiples niveaux | |
Gong et al. | Interactive removal and ground truth for difficult shadow scenes | |
US11790198B2 (en) | Method and apparatus for processing encoded pattern, storage medium, and electronic apparatus | |
BE1022630B1 (fr) | Procédé et système pour déterminer des candidats points de fuite pour la correction projective | |
US10891474B1 (en) | Optical receipt processing | |
US8413903B1 (en) | Decoding barcodes | |
KR20160016961A (ko) | 이미지 선명도의 평가 | |
US11710210B1 (en) | Machine-learning for enhanced machine reading of non-ideal capture conditions | |
JP2014116025A (ja) | 文書の有効性を決定するためのシステム、方法およびコンピュータプログラム製品 | |
JP2019520662A (ja) | 商標画像のコンテンツ・ベースの検索及び取得 | |
BE1022635A1 (fr) | Procede et systeme de correction de distorsions projectives utilisant des points propres | |
BE1023388B1 (fr) | Procédé et système pour corriger une image provenant d'un dispositif de numérisation à main | |
US9679179B2 (en) | Method for processing information from a hand-held scanning device | |
US20130314755A1 (en) | Image capture device for extracting textual information | |
BE1023380B1 (fr) | Procédé de traitement d'informations provenant d'un dispositif de numérisation à main | |
BE1025502A1 (fr) | Système et procédé de reconnaissance de formes utilisant des fonctions de gabor | |
US9692929B2 (en) | Method and system for correction of an image from a hand-held scanning device | |
US9471905B2 (en) | Methods and systems for processing electronic documents | |
JP6432182B2 (ja) | サービス提供装置、方法、及びプログラム | |
Ozarslan et al. | Text recognition and correction for automated data collection by mobile devices | |
BE1021013B1 (fr) | Procede et systeme pour ameliorer la qualite d'images en couleur. | |
EP3945450B1 (fr) | Lecture d'un code graphique | |
BE1022166B1 (fr) | Procede de compression d'images |