EP1730692A1 - Procede d'extraction de donnees brutes d'une image resultant d'une prise de vue - Google Patents

Procede d'extraction de donnees brutes d'une image resultant d'une prise de vue

Info

Publication number
EP1730692A1
EP1730692A1 EP05742633A EP05742633A EP1730692A1 EP 1730692 A1 EP1730692 A1 EP 1730692A1 EP 05742633 A EP05742633 A EP 05742633A EP 05742633 A EP05742633 A EP 05742633A EP 1730692 A1 EP1730692 A1 EP 1730692A1
Authority
EP
European Patent Office
Prior art keywords
image
value
calculation
data
max
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP05742633A
Other languages
German (de)
English (en)
Inventor
Martin Lefebure
Anas Benabid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Real Eyes 3D SA
Original Assignee
Real Eyes 3D SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR0402960A external-priority patent/FR2868184B1/fr
Application filed by Real Eyes 3D SA filed Critical Real Eyes 3D SA
Publication of EP1730692A1 publication Critical patent/EP1730692A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals

Abstract

Le procédé selon l'invention permet l'extraction de données brutes d'une image résultant d'une prise de vue. Il comprend la détermination pour chaque point de l'image d'une combinaison V0[C,L] des composantes de la couleur de l'image, le calcul, pour chaque point de l'image, d'une valeur VN+1 [C,L], l'itération de ce calcul un nombre prédéterminé de fois puis la prise en compte des valeurs de l'image finale VNfinal [C, L] en chaque point de l'image, le calcul pour chaque point de la différence D [C, L] = VNfinal [C, L] - Vo [C, L], le calcul d'une donnée contextuelle de bruit Vs, la correction des données brutes D [C,L] à l'aide de la donnée contextuelle Vs, le calcul d'une valeur I* [C, L] corrigée en prenant en compte D* [C, L], et la présentation des données extraites sous un angle souhaité.

Description

PROCEDE D'EXTRACTION DE DONNEES BRUTES D'UNE IMAGE RESULTANT D'UNE PRISE DE VUE.
La présente invention a pour objet un procédé d'extraction de données brutes d'une image résultant d'une prise de vue.
Elle concerne plus particulièrement, mais non exclusivement, un procédé de présentation de données extraites d'une image selon un angle de vue souhaité, à partir d'une image numérique prise par un appareil photographique ou cinématographique intégré ou non à un appareil de communication sous incidence quelconque.
Elle s'applique notamment à la transmission et au stockage de données textuelles et de graphismes numérisés préalablement visionnés par une caméra sous incidence quelconque puis traités par correction de la déformation projective et/ou éventuellement par amélioration de la résolution de manière à obtenir une image corrigée présentant une plus grande lisibilité, vue selon un angle d'incidence différent de celui de la prise de vue, par exemple une incidence normale ou une incidence quelconque prédéterminée. Bien entendu, l'invention permet l'extraction des informations utiles avant ou après correction.
Un tel processus convient tout particulièrement à la transmission d'informations textuelles et/ou graphiques prises par une caméra équipant un terminal de communication portable tel que, par exemple, un émetteur/récepteur de radio cellulaire.
Bien entendu, pour extraire les données brutes relatives à une information imprimée ou écrite à la main dans une image et en déduire des zones à corriger, par la demande de brevet FR 2 840 093 la Demanderesse a déjà proposé une solution consistant à extraire l'information en calculant, en tant que données brutes extraites, une image de différence D (C, L) (en fait le contraste entre le niveau lumineux du fond et le niveau lumineux des données à extraire). On utilise une valeur de seuil pour sélectionner les valeurs à extraire de cette image de différence. Ainsi, cette valeur de seuil Ns peut être choisie en tant que valeur de seuil du gradient d'élimination de la grille de lignes (quadrillage). Toutefois, cette méthode présente les inconvénients suivants :
Dans le cas où aucune grille de lignes n'est présente dans l'image originale, la valeur Ns correspond au seuil d'élimination de bruit. Il s'avère que ce seuil est difficile à obtenir en utilisant une technique d'histogramme classique qui ne donne pas des résultats satisfaisants.
Si des lignes de grille sont présentes, le seuil correct pour trouver un motif peut être déterminé, mais cette valeur de seuil ne peut pas être toujours utilisée en tant que seuil d'extraction d'une information. En effet, cette valeur de seuil n'élimine pas toujours complètement ni des lignes de grille ni le bruit du fait que le contraste image non prédictif varie comme une saturation diffuse et comme des surfaces d'image voilées dues à des conditions d'éclairage aléatoires.
Dans le cas d'images en couleur, trois canaux (rouge, vert et bleu) doivent être considérés et il n'apparaît pas clairement si on doit avoir un seuil par canal ou un seuil pour tous les canaux.
Par ailleurs, on sait que la lecture et/ou l'interprétation par une personne d'un texte ou d'un graphique reproduit à partir d'informations délivrées par une caméra qui visionne un document original, suppose que la prise de vue soit effectuée sous incidence normale ou voisine de la normale de manière à permettre la reconnaissance des lettres composant le texte et l'interprétation du graphique (laquelle exige le plus souvent le respect des formes et des proportions).
En effet, lorsque le document est visionné par une caméra sous une incidence quelconque, l'image produite présente une déformation projective : En conséquence, à partir d'une certaine distance de la caméra, on constate la disparition de détails qui sont nécessaires à la reconnaissance de caractères et, par conséquent, à la compréhension du document.
En vue de supprimer ces inconvénients, la Demanderesse a déjà proposé une solution consistant à extraire des données contextuelles identifiables présentes dans l'image prise par la caméra et à corriger les données brutes ou extraites délivrées par la caméra à l'aide de ces données contextuelles, les données corrigées étant ensuite stockées en mémoire et/ou transmises à un destinataire en vue d'être affichées à des fins de lecture.
Les données contextuelles servant à effectuer la correction des données brutes peuvent concerner un motif (contour physique, tracé ou imprimé) existant initialement dans le document ou préalablement rapporté, dont certains paramètres sont préalablement connus.
Le processus de correction peut alors comprendre les étapes suivantes :
- la recherche de ce motif dans l'image brute prise par la caméra,
- le calcul des déformations projectives que présente l'image brute à partir des déformations du motif qu'elle contient et qui se manifestent par des variations des susdits paramètres,
- la détermination des corrections à apporter aux données brutes ou aux données extraites en fonction des déformations projectives,
- la génération d'une image contenant les données corrigées prenant en compte les corrections précédemment déterminées.
L'étape de recherche du motif est alors obtenue par une première séquence de recherche comportant : • la détection des frontières présentes dans l'image, " l'extraction des frontières dont la longueur dépasse une valeur prédéterminée, et " la détection des zones délimitées par les frontières trouvées dont l'aire est suffisante (supérieure à une valeur prédéterminée) et ne touchant pas le bord de l'image. Pour chaque zone trouvée, ce processus comprend une étape de calcul destinée à déterminer l'axe principal de la zone, à trouver un point externe à la zone sur ledit axe principal, la construction d'un cône externe issu du point externe, l'extraction des points de la frontière dont la normale extérieure s'oppose au vecteur le joignant et partant du point externe, le calcul de la droite portée par l'axe principal des points extraits, lorsque les quatre droites sont trouvées, le calcul des quatre sommets du quadrilatère issu des quatre droites puis, lorsque l'aire du quadrilatère est proche de l'aire de la zone, le calcul de l'homographie déformant le quadrilatère en un rectangle présentant des proportions préétablies.
Il s'avère que l'un des inconvénients de cette méthode consiste justement en ce qu'elle fait intervenir des proportions fixées à l'avance. Bien entendu, dans le cas où ces proportions fixées à l'avance ne sont pas celles d'origine, la transformation homographique effectuée sur l'image conduit à des modifications dans les proportions des objets contenus dans l'image corrigée.
Par ailleurs, il s'avère que les calculs d'homographie utilisés jusqu'ici sont particulièrement lourds. En effet, pour chaque pixel de l'image finale, on doit déterminer une zone de l'image initiale dont on lit les valeurs de luminance et de chrominance pour les affecter ensuite dans l'image finale à l'emplacement que doit avoir ce pixel selon une relation homographique.
Or, on constate que la partie texte écrite dans une image ne comprend généralement pas plus de 20 % des pixels de cette image de sorte que les 80 % restant de pixels de l'image ne présentent aucun intérêt.
L'invention a donc notamment pour but de résoudre ces problèmes.
A cet effet, elle propose tout d'abord un procédé permettant de déterminer de façon précise une données contextuelle de bruit servant à corriger les données brutes extraites et, notamment, la valeur de seuil Ns à laquelle l'information imprimée ou écrite à la main peut être extraite sans se préoccuper de savoir si des lignes de grille sont présentes ou non, indépendamment du motif recherché. En outre, cette valeur de seuil peut être utilisée en tant que seuil de gradient pour chercher le motif de manière à réduire les besoins de traitement à la seule étape de recherche de motif. Dans le cas où l'on veut extraire des informations d'une image en couleur, chaque composante de couleur de l'image doit être considérée pour calculer un unique seuil d'extraction d'information de couleur.
On considère alors une image présentant un niveau de gris qui peut consister en une combinaison des trois canaux de couleur de l'image (rouge - vert - bleu) soit en l'un de ces canaux.
D'une façon plus précise, l'invention propose un procédé d'extraction de données brutes d'une image résultant d'une prise de vue, caractérisé en ce qu'il comprend les étapes suivantes :
a) la détermination, pour chaque point repéré par la colonne C et la ligne L de l'image, d'une valeur N0 [C, L] consistant en une combinaison des composantes de la couleur de l'image ayant pour expression :
V0 [C, L] = αRouge [C, L] + βNert [C, L] + γBleu [C, L]
Formule dans laquelle α, β, γ sont des coefficients pouvant répondre, par exemple, aux relations suivantes : α + β + γ = l et α, β, γ > 0
b) le calcul, pour chaque point de l'image, d'une valeur de fond NFond (C, L)
c) le calcul, pour chaque point de l'image, de la différence D [C, L] D [C, L] = NFond - No [C, L] (données sombres/fond clair) ou N0 [C, L] - NFond (données claires/fond sombre)
d) le calcul d'une valeur de seuil Ns consistant en une donnée contextuelle de bruit servant à corriger les données brutes extraites, à partir d'histogramme de contraste et/ou de la probabilité q qu'un maximum régional des données brutes D [C, L] contienne du bruit e) la correction des données brutes D [C,L] à l'aide de la donnée contextuelle de bruit Ns résultant en les données extraites D* [C, L]
f) le calcul, pour chaque point de l'image, d'une valeur I* [C, L] corrigée prenant en compte la donnée brute corrigée D* [C, L]
g) la présentation éventuelle des données extraites ou de l'image les contenant sous un angle souhaité.
Avantageusement,
- la valeur de fond NFond pourra être déterminée grâce à une séquence opératoire comprenant les étapes suivantes :
- le calcul pour chaque point de l'image d'une valeur N + 1 [C, L] qui est la valeur maximale (données sombres sur fond clair) ou minimale (données claires sur fond sombre) entre la valeur NΝ [C, L] et différentes moyennes de valeurs de NΝ sur des éléments structurants symétriques centrés en [C, L],
- l'itération dudit calcul un nombre prédéterminé de fois (Ν final) puis la prise en compte des valeurs de l'image N final en tant que valeur de fond NFond.
- le calcul de la valeur NΝ+i [C, L] pourra être obtenu grâce à une relation du type : max (sombre/fond clair)
VN + i [C, L] = <ou mώ(cl ir/fond sombre)) γN J- L]
VN [C + 1, L + 1] + VN [C - 1, L - 1]
2 vN [C + 1, L -1] + VN [C - - l. + 1]
2 vN [C, L + 1] + VN [C, L - - i] 2 vN [C + 1, L] + VN [C - 1, L]
- la valeur de fond NFond pourra être également déterminée grâce à une séquence opératoire comprenant les étapes suivantes : la génération d'une image NΝ+i. quatre fois plus petite que NΝ comprenant le calcul pour chaque point de l'image d'une valeur NΝ+i [C, L] qui est le maximum (données sombres sur fond clair) ou le minimum (données claires sur fond sombre) entre une moyenne locale de NΝ centré au point
2C + — , 2L + — (ici les 4 pixels adjacents) et au moins une moyenne 2 2 locale incluant un plus grand nombre de pixels (ici les 16 pixels adjacents) ; l'image NΝ+i étant alors quatre fois plus petite que l'image NΝ, - l'itération dudit calcul un nombre prédéterminé de fois ΝF-nai. - l'interpolation des valeurs de l'image NΝFinai pour obtenir une valeur NFond qui à la même taille que l'image de départ No, - la valeur NΝ+i [C, L] pourra être déterminée grâce à une séquence opératoire comprenant : max (sombre/fond clair) VN+ I L , LJ ou JJJJJJ) (clair/fond sombre)
VN [2C,2L] + VN [2C+1,2L] + VN [2C.2L+1] + VN [2C+1,2L+1]
(VN [2C-1.2L-1] + VN [2C-1,2L] + VN [2C-1,2L+1] + VN [2C-l,2L+2]
+VN [2C,2L-1] + VN [2C,2L] + VN [2C,2L+1] + VN [2C.2L+2]
+VN [2C+1,2L-1] + VN [2C+1,2L] + VN [2C+1,2L+1] + VN [2C+l,2L+2]
+ VN [2C+2,2L-1] + VN [2C+2,2L] + VN [2C+2,2L+1] + VN [2C+2,2L+2] )/16
Les données brutes D [C, L] sont généralement affectées par une déformation perspective due à la position quelconque de la caméra devant le support. Un procédé d'extraction de données contextuelles géométriques connu permet de corriger la déformation perspective des données brutes extraites. De même, ces données brutes extraites sont aussi affectées par du bruit lumineux et/ou électronique qui peut être éliminé par seuillage comme suit :
Après avoir calculé la donnée contextuelle de bruit Ns, on effectue la comparaison, pour chaque point de l'image, de la valeur D [C, L] avec la valeur de seuil Ns de manière à déterminer la valeur D* [C, L] à extraire de la façon suivante : si D [C, L] < Ns alors D* [C, L] = 0 si D [C, L] > Ns on conserve la valeur D [C, L] soit D* [C, L] = D [C, L] ou on la remplace par D [C, L] - Ns soit D* [C, L] = D [C, L] - Ns
La génération de l'image I*(p) contenant les données extraites selon le principe soustractif résulte du calcul I*(p) = Imax - f.D*(p) (données sombres/fond clair), avec Imax valeur du fond clair pouvant être égale par exemple à 255, ou I*(p) = Imjn + f.D*(p) (données claires/fond sombre), Im_n pouvant être égal à zéro.
La valeur de seuil Ns est une donnée contextuelle de bruit servant à corriger les données brutes D [C, L]. Elle peut être calculée selon un procédé basé sur la probabilité q que n'importe quel maximum régional des données brutes contienne du bruit. Dans le cas d'une information sombre sur fond clair ce procédé comprend les phases opératoires suivantes (les dispositions spécifiques de la recherche d'une information claire sur un fond sombre étant indiquées entre parenthèses) :
- une première phase dans laquelle pour chaque pixel p d'une image de gris I (soit un canal de couleur, soit la luminance) on effectue : a) pour chaque direction d, avec 0 < | d | < D si les conditions - convexité de I sur [p-d, p+d], c'est-à-dire I(p+(l-2λ)d) < λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données sombres/fond clair) ou - concavité de I sur [p-d, p+d], c'est-à-dire I (p+(l-2λ)d) ≥ λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données claires/fond sombre) alors on calcule G(p,d) = (I (p+d) + I(p-d))/2 sinon on a G(p,d) = 0 b) on calcule une valeur S(p) qui est égale à la valeur maximum de G(p,d) pour toutes les directions d avec 0 < | d | < D en alternative, à ce calcul de S(p), on pourra remplacer S(p) par D(p), D(p) correspondant aux données brutes
- une deuxième étape dans laquelle on calcule une valeur Smax qui est égale à la valeur maximum de S(p) pour tous les pixels p
- une troisième étape dans laquelle on initialise un histogramme H(S) = 0 pour toutes les valeurs de S entre 0 et Sma
- une quatrième étape de calcul de l'histogramme des contrastes pour les pixels maximum régionaux contenant le bruit à éliminer, ce calcul pouvant comprendre : une étape dans laquelle pour chaque pixel p dans l'image S(p), si S(p) est un maximum régional, on incrémente H(S(p)) selon la relation H(S(p)) <- H(S(p)) + 1 • une étape dans laquelle on détermine les égalités S = Smax et N = 1/q et tant que H(S) est inférieur à N on remplace S par S - 1, la valeur finale de S étant appelée Smh_, N étant le nombre minimal de pixels maximum régionaux tel que l'espérance mathématique du nombre de pixels contenant du bruit est supérieure ou égale à 1
• une étape dans laquelle on calcule la valeur Ns selon la formule Ns = r . Smin + (1-r) . Smaχ, avec 1/2 < r < 1
La valeur de seuil Ns peut également être calculée selon le procédé suivant :
1) Une première étape de calcul d'histogramme de creux H_creux comportant les phases opératoires suivantes : a) pour chaque pixel p de l'image I, on effectue : i. pour chaque direction d avec 0 < | d | < D : si les conditions - convexité de I sur [p-d, p+d], c'est-à-dire I(p+(1 -2λ)d) < λ I(p-d) + (1 -λ) I(p+d) pour tout 0 < λ < 1 (données sombres/fond clair) ou - concavité de I sur [p-d, p+d], c'est-à-dire I (p+(l-2λ)d) > λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données claires/fond sombre) alors on calcule G(ρ,d) = (I (p+d) + I(p-d))/2 sinon on a G(p,d) = 0 ii. on calcule S(p) = valeur maximum de G(p,d) pour toutes les directions d avec 0 < | d | < D en alternative à ce calcul de S(p), on pourra remplacer S(p) par une valeur D(p) qui correspond aux données brutes b) on calcule la valeur maximum des creux S_creuxmax qui est égale à la valeur maximum de S(p) pour tous les pixels p c) on initialise à 0 l'histogramme de creux H_creux pour chaque valeur de s comprise entre 0 et la valeur maximum des creux S_creux_max d) pour chaque pixel p de l'image S(p) on effectue les calculs suivants : i. si S(p) est un maximum régional on incrémente H_creux (S(p)) de la façon suivante :
H_creux (S(p)) <- H_creux (S(p)) + 1
2) Une seconde étape de calcul d'histogramme de bosses H_bosse comportant les phases opératoires suivantes : a) pour chaque pixel p de l'image I, on effectue : i. pour chaque direction d avec 0 < | d | < D : si les conditions - convexité de I sur [p-d, p+d], c'est-à-dire I(p+(l-2λ)d) < λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données sombres/fond clair) ou - concavité de I sur [p-d, p+d], c'est-à-dire I (p+(l-2λ)d) > λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données claires/fond sombre) alors on calcule G(p,d) = (I (p+d) + I(p-d))/2 sinon on a G(p,d) = 0 ii. on calcule S(p) = valeur maximum de G(p,d) pour toutes les directions d avec 0 < | d | < D de même que précédemment, en alternative à ce calcul de S(p), on pourra remplacer la valeur S(p) par une valeur D(p) (clair/fond sombre) qui correspond aux données brutes b) on calcule la valeur maximum des bosses S_bosse_max qui est égale à la valeur maximum de S(p) pour tous les pixels p c) on initialise à 0 l'histogramme de bosses H_bosse(s) pour chaque s compris entre 0 et la valeur maximum des bosses S bosses max d) pour chaque pixel p de l'image S(p) on effectue les calculs suivants : i. si S(p) est un maximum régional on incrémente H_bosse(S(p)) de la façon suivante : H_bosse (S(p)) <- H bosse (S(p)) + 1
3) Une troisième étape de superposition des histogrammes de creux H_creux et de bosses H_bosses comportant les phases suivantes : a) le calcul de S_max selon l'expression : Smax = Max (valeur maximum des creux S_creux_max, valeur maximum des bosses S_bosses_max) b) le calcul de H_max selon l'expression : Hjtnax = valeur maximum des creux H_creux(S) et des bosses H_bosse(S) pour toutes les valeurs de S c) le calcul de sO selon l'expression : sO = valeur maximum de s telle que H_creux(s) = H_max ou H_bosses(s) = H_max d) le calcul de s = sO + 1 et le choix de α tel que 0 <α < 1/2 et tant que : I ln(l + H_creux(s)) - ln(l + H_bosses(s)) | < α . In (1 + H_max) on effectue s = s + 1 (où In est la fonction logarithme népérien) on détermine enfin la valeur Sm-n par la valeur finale de s incrémentée de 1
4) Une étape de calcul du seuil d'extraction Ns selon la relation : Ns = r . Smin + (l - r) . Smax où l/2 < r < l
On constate lorsqu'on itère un grand nombre de fois l'étape b) du procédé d'extraction des données brutes via le calcul de S(p), que les valeurs de seuil calculées à l'aide des deux procédés décrits plus haut ne permettent pas de corriger efficacement les données brutes extraites.
Cet inconvénient peut être supprimé en utilisant l'alternative consistant à remplacer S(p) par D(p).
Ainsi, dans ce cas, lorsque la probabilité q que n'importe quel maximum régional des données brutes contienne du bruit est connue, le processus d'extraction de la donnée contextuelle de bruit pourra comprendre les étapes suivantes :
- une première étape dans laquelle on calcule une valeur Smax qui est égale à la valeur maximale de D(p) pour tous les pixels p=[C,L], D étant l'image des données brutes à corriger
- une deuxième étape dans laquelle on initialise un histogramme H(S) = 0 pour toutes les valeurs de S entre 0 et Smax
- une troisième étape dans laquelle pour chaque pixel p dans l'image D(p), si D(p) est un maximum régional, on incrémente H(D(p)) selon la relation H(D(p)) — H(D(p)) + 1
- une quatrième étape dans laquelle on détermine les égalités S = Sma et Ν = 1/q et tant que H(S) est inférieur à Ν on remplace S par S - 1, la valeur finale de S étant appelée Smin
- une cinquième étape dans laquelle on calcule la valeur de la donnée contextuelle de bruit Ns selon la formule Ns = r . Smin + (1-r) . Smax, avec 1/2 < r < 1 Dans le cas où la probabilité q que n'importe quel maximum régional des données brutes contienne du bruit n'est pas connue, le processus d'extraction de la donnée contextuelle de brut Ns pourra comprendre les étapes suivantes :
1) Une première étape de calcul d'histogramme de creux H_creux comportant les phases opératoires suivantes : a) on calcule la valeur maximum des creux S_creuxmax qui est égale à la valeur maximum de D(p) pour tous les pixels p, D étant l'image des données brutes sombres sur fond clair extraites b) on initialise à O l'histogramme de creux H_creux pour chaque valeur de s comprise entre O et la valeur maximum des creux S_creux_max c) pour chaque pixel p de l'image D(p), si D(p) est un maximum régional on incrémente H_creux D(p) de la façon suivante : H_creux (D(p)) - H_creux (D(p)) + 1
2) Une seconde étape de calcul d'histogramme de bosses H_bosse comportant les phases opératoires suivantes : a) on calcule la valeur maximum des bosses S_bosse_max qui est égale à la valeur maximum de D(p) pour tous les pixels p, D étant ici l'image des données brutes claires sur fond sombre b) on initialise à 0 l'histogramme de bosses H_bosse(s) pour chaque s compris entre 0 et la valeur maximum des bosses S bosses max c) pour chaque pixel p de l'image D(p) on effectue les calculs suivants si D(p) est un maximum régional on incrémente H_bosse D(p)) de la façon suivante : H_bosse (D(p)) <- H_bosse (D(p)) + 1
3) Une troisième étape de superposition des histogrammes de ceux H_creux et de bosses H_bosses comportant les phases opératoires suivantes : a) le calcul de Sjmax selon l'expression : Sma = Max (valeur maximum des creux S_creux_max, valeur maximum des bosses S_bosses_max) b) le calcul de Hjmax selon l'expression : H_max = valeur maximum- des creux H_creux(S) et des bosses H_bosse(S) pour toutes les valeurs de S c) le calcul de sO selon l'expression : S0 = valeur maximum de s telle que H_creux(s) = Hjmax ou H_bosses(s) = H_max d) le calcul de s = sO + 1 et le choix de α tel que 0 < α < 1/2 et tant que : I In (1 + H_creux(s)) - ln(l -+ H_bosses(s)) | <α . In (1 + H_max) on effectue s = s + 1 (où In est la fonction logarithme népérien) on détermine enfin la valeur Smin par la valeur finale de s incrémentée de 1
4) Une étape de calcul de la valeur de la donnée contextuelle de bruit Ss selon la relation : Ns = r . Smin + Cl - r) . Smax où 1/2 < r < 1
Bien entendu, on doit extraire des informations d'une image en couleur avec des canaux de couleur rouge, vert, bleu. Les étapes du procédé précédemment décrit peuvent être suivies pour chaque canal de couleur, en déterminant un seuil pour chaque canal. L'extraction des informations de couleur des canaux rouge, vert, bleu et leur recombinaison dans une image finale en couleur peuvent être faites en extrayant les valeurs de rouge, vert, bleu dans chaque pixel pour lequel on constate un dépassement du seuil. Par ailleurs, dans le but de supprimer les inconvénients des méthodes de recherche de motifs (contours physiques, tracé ou imprimé) exprimant les données contextuelles et faisant intervenir des proportions fixées à l'avance l'invention propose de déterminer le rapport réel hauteur/largeur du quadrilatère formé par quatre points identifiés d'un motif présent dans l'image d'un contour qui sert à déterminer les données contextuelles de l'image et ce, de manière à pouvoir reconstituer un document présentant les mêmes proportions.
A cet effet, la Demanderesse propose un procédé de présentation d'une information extraite d'une image du type susdit selon un angle de vue souhaité, à partir d'une image prise par une caméra sous incidence quelconque, ce procédé comprenant :
- la recherche d'au moins quatre points caractéristiques identifiables d'un motif présent dans l'image prise par la caméra définissant des données contextuelles, - l'extraction éventuelle de données selon des critères prédéterminés,
- le calcul des déformations géométriques à apporter à l'image brute, à l'information ou aux données extraites, à partir de la position relative des quatre points par rapport à des positions relatives de référence,
- la détermination des corrections à apporter à l'image brute ou des données extraites en fonction des déformations géométriques,
- la génération d'une image contenant les données extraites prenant en compte les corrections géométriques ainsi déterminées.
Ce procédé est caractérisé en ce qu'en vue d'obtenir une image contenant les données extraites présentant les mêmes proportions que l'objet, il comprend la détermination du rapport réel hauteur/largeur du quadrilatère défini par les susdits points et la prise en compte de ce rapport r dans la génération de l'image corrigée.
D'une façon plus précise, la détermination des proportions du quadrilatère (rectangle) s'effectue conformément à un processus comprenant les étapes suivantes :
- la recherche de quatre points caractéristiques identifiables d'un motif présent dans l'image, - la détermination des points de fuite à partir des côtés du quadrilatère défini par les quatre points et la détermination d'une ligne d'horizon reliant les points de fuite,
- la détermination des coordonnées du point F de projection du centre optique O de la caméra sur la ligne d'horizon, - le calcul du point de pied de caméra (projection orthogonale du centre optique de la caméra sur le plan du motif) à partir des distances entre les points de fuite et le point de projection F et de la distance entre ce point de projection F et le centre optique O,
- le calcul de la longueur focale à partir des distances entre le centre optique, le point de projection F et le point de pied de caméra,
- le calcul des coordonnées des points d'intersection Mi Ni, M2 N2 entre les lignes de fuite et les droites reliant le point de pied de caméra et les points de fuite, ainsi que des points Oi, O2, Pi, P2 situés sur les lignes de fuite, à des distances conventionnelles (elliptiques) du point de pied de caméra, - le calcul du rapport des côtés du motif initial à partir des coordonnées précédemment calculées en considérant que le rectangle Oi, O , Pi, P2 est la projection d'un carré s'étendant dans le plan du motif.
Dans le cas où seules les lignes de fuites d'un même couple se coupent en un point de fuite tandis que les deux autres lignes de fuite sont parallèles (point de fuite projeté à rinfini), le calcul du rapport r sera effectué en partant d'une longueur focale f préétablie de la caméra.
Dans le cas où tous les points de fuite sont projetés à l'infini, le rapport r est égal au rapport des longueurs des côtés adjacents du quadrilatère.
Un avantage important de cette méthode consiste en ce qu'elle est peu sensible à des défauts d'orthogonalité des côtés adjacents du quadrilatère, ce qui est fréquemment le cas lorsque le quadrilatère est un motif tracé à la main. En effet, les solutions classiques sont particulièrement sensibles à ces défauts (instabilité en cas de défaut d'orthogonalité).
Un autre avantage de cette solution consiste en ce qu'elle permet de reproduire des textes dans lesquels on n'a pas d'alignement de caractères. Dans le but d'alléger les calculs homographiques notamment en évitant les calculs inutiles et en ne les appliquant qu'aux pixels se rapportant au texte écrit dans l'image et en réixtilisant autant que possible les calculs partiels déjà effectués, la Demanderesse propose une séquence opératoire comportant les phases suivantes :
- la création d'un masque binaire initial (déformé) des zones à corriger en isolant la partie utile de l'image initiale contenant les données extraites et en attribuant la même valeur binaire (0 ou 1) aux pixels de cette partie utile,
- le calcul d'un masque binaire idéal par transformation homographique directe du masque initial (basé sur la transformation d'une forme polygonale quelconque en une forme polygonale de référence),
- pour ch-aque pixel (u, v) du masque binaire idéal, le calcul par homographie inversé de la position (x, y) dans l'image initiale, la détermination de la valeur de l'image finale au pixel (u, v) par une valeur interpolée en (x, y) dans l'image initiale.
Avantageu-sement, le calcul de l'homographie inverse pourra comprendre un précalcul par homographie inverse des lignes et des colonnes de chaque pixel du masque idéal. Il sera ensuite possible de déduire la position d'un pixel donné dans l'image initiale en calculant l'intersection de deux lignes.
Des modes d'exécution de l'invention seront décrits ci-après, à titre d'exemples non limitatifs, avec référence aux dessins annexés dans lesquels : La figure 1 est une représentation schématique de la prise de vue d'un document par une caméra, cette représentation permettant de montrer les principaux paramètres utilisés dans le procédé selon l'invention ;
La figure 2 est une projection de la vue représentée figure 1 dans le plan de l'image du document ;
La figure 3 est une projection du type de celle de la figure 2 mais dans laquelle l'un des deux points de fuite est projeté à l'infini ; La figure 4 est un diagramme relatif à la caractérisation de l'intérieur d'un quadrilatère ;
La figure 5 illustre un invariant géométrique projectif ;
La figure 6 est une représentation schématique des étapes opératoires d'un processus de traitement d'image selon l'invention en vue d'obtenir une image corrigée ; Les figures 7 à 11 sont des diagrammes permettant d'illustrer les calculs effectués conformément au processus illustré figure 6 ;
La figure 12 montre un exemple de paire d'histogrammes H creux et H bosse dans un repère de coordonnées logarithmiques ;
La figure 13 est une représentation schématique permettant de montrer les principaux paramètres géométriques d'une caméra ;
La figure 14 est un diagramme illustrant le principe de construction d'un motif" rectangulaire présentant un rapport d'aspect physique prescrit, dans le cas d'une absence de point de fuite.
Dans l'exemple représenté sur la figure 1, le document original que l'on veut prendre à l'aide d'une caméra est disposé horizontalement sur un support plan.
La caméra se trouve disposée au-dessus du plan du support et donc du document, à une hauteur déterminée, l'axe de la caméra qui est orienté vers le document étant oblique (ici un angle d'incidence d'environ 30°).
L'image du document prise par la caméra est située dans un plan image qui s'étend perpendiculairement à l'axe optique de la caméra.
La projection orthogonale du centre optique C de la caméra dans le plan du support est appelée le pied de la caméra. Le plan passant par le point C qui est parallèle au plan du support constitue l'horizon apparent du support.
Le motif d'un rectangle sur le document DT donne au niveau de l'image un quadrilatère A, B, C, D (figure 2) d-ont les segments DC et AB sont portés par deux droites (lignes de fuite) sécantes en un point Fi tandis que les segments DA et CB sont portés par deux droites (lignes de fuite) sécantes en un point F2. La droite portant le segment FjF2 constitue la ligne d'horizon.
Comme illustré sur la figure 2 :
X est le pied de caméra (projection du centre optique C dans le plan du document)
Mi est l'intersection des droites (AD) et (FiX)
Ni est l'intersection des lignes (BC) et (FiX)
M2 est l'intersection des lignes (AB) et (F2 X)
N2 est l'intersection des lignes (CD) et (F2X)
δ est une constante positive représentative d'une distance conventionnelle mesurée à partir du point X sur les axes (Fi, X) et (F2, X)
i est l'angle d'incidence
E est une ellipse de grand axe parallèle à (F X) ; son grand axe présente une longueur δ/cos(i) et son petit axe présente une longueur δ
01 et Pi sont les intersections de (Ti, X) avec l'ellipse E
02 et P2 sont les intersections de (T2, X) avec l'ellipse E O est le centre de l'image
F est la projection orthogonale du centre optique O de la caméra sur la ligne (Fι, F2)
Conformément au procédé selon l'invention, le calcul du rapport d'aspect physique r (r = longueur horizontale/longueur verticale) du rectangle constituant le motif original est obtenu selon l'une des trois séquences opératoires suivantes :
1) Cas où les points Fi et F^ existent, les segments AB, BC, CD, DA n'étant pas parallèles. Dans ce cas, la séquence opératoire comprend les phases suivantes :
- une première phase de calcul des coordonnées du point F en projetant le centre de l'image O sur la ligne d'horizon (Fi, F2) - une deuxième phase de calcul de la position du pied de caméra par sa distance au point F, dist (X, F) grâce à la relation : dist (F, R ) . dist (F, E,) dist (X, F) = l- - ' dist (O, F)
Ceci découle de la démonstration suivante en trois étapes :
a) l'angle entre le pied de caméra et l'horizon est de 90 ° et on déduit que OX 71 OF i. tan(i) = et tan( - 0 - f XF _ OX ii. de ce fait on a = H OF °F cos2(i)
b) l'angle entre Fi et F2 est de 90° également et on déduit que
FFj 71 FF2 i. tan(j) = et tan( — - j) = 2 J/ g OF avec g = — et j étant l'angle entre Fi et F2 cos(ι)
1 FF} . FF2 ii. de ce fait on a cos (i) OF2
c) en combinant les relations a) ii. et b) ii. on obtient la formule finale de XF - une troisième phase de calcul de la longueur focale f par la relation : f = -/dist (O, X) . dist (O, F) (déduite de a) i. ci-dessus) - une quatrième phase de calcul de l'angle d'incidence i d'expression dist (0, X) tan (i)= — — _ _., (déduite de a) i. ci-dessus) V dist (O, F) - une cinquième phase de détermination des coordonnées des points Mi, Ni, Oi et Pi à partir des valeurs précédemment calculées - une sixième phase de détermination des coordonnées des points M2, N2, O2 et P2 à partir des valeurs précédemment ca-lculées - une septième phase de calcul du rapport d'aspect physique r en utilisant les rapports croisés et le fait que le rectangle Oi, O2, Pi, P2 est la projection d'un carré s'étendant dans le plan du motif centré sur le pied selon la relation dist(M N1) dist (F1, O1) dist (F -P1) dist (F2, M2) dist (F2, N2) dist (M2, N2) ' dist (F1, M1) ' dist (F1,N1) ' dist (F2, O2) ' dist(F2, P2)
Ceci découle du fait que [Ol, PI] et [O2, P2] sont les projections de deux segments de même longueur : on peut utiliser [Ol, PI] et [O2, P2] comme segments et mesurer les longueurs relatives des segments [Ml, NI 3 et [M2, N2] en utilisant des rapports croisés et en déduire r. 2) Cas où deux des segments sont parallèles (point (----'intersection projeté à l'infini (figure 3)) Dans ce cas, le rapport r est obtenu selon la relation suivante :
formule dans laquelle f est la longueur focale de la caméra (étant entendu que cette longueur focale f est précalculée).
3) Cas où il n'existe pas de point de fuite (les segments AB, BC, CD, DA étant parallèles deux à deux) Dans ce cas, le rapport r est simplement dist (A, B) r = dist (A, D)
Ces relations sont essentiellement basées sur les invariants en géométrie projective et en particulier sur les rapports croisés de quatre points dont les relations sont exprimées en regard de la figure 5 qui montre deux vues A* B* C* D* - A*ι B*ι C*ι D*ι d'un même objet prises par une caméra de centre optique O* avec deux angles d'incidence différents.
A partir des points A*, B*, C* et D*, on peut obtenir u e première série de rapports A * B * CB * croises A * D * ' CD * '
D'une façon analogue, à partir des points A*ι, B*ι, C* , D*I, on obtient une seconde A ^ B ^ C *1 B *1 série de rapports croisés A ^ β „ --- c * D -„
La conservation du rapport croisé est ensuite écrite A*B* CB* A^B^ C*1B*1 A*D* " CD* ~A*1D*1 " C*1D*1
Dans le cas où l'un des points, par exemple le point A, est projeté à l'infini, le rapport A*B* est considéré égal à 1.
A*D*
Comme précédemment mentionné, l'invention propose également un mode de remise en forme de l'image permettant de diminuer la complexité des calculs homographiques qui étaient utilisés jusqu'ici notamment lorsque «cette image contient du texte.
La figure 6 illustre les diverses étapes de ce mode de mise en forme qui comprend :
a) Une première étape de calcul d'un masque binaire déformé à artir d'une image où la trame (où la page) a été détectée et la partie (écrite) de texte a été extraite. Cette étape consiste à affecter une valeur nulle à tous les pixels qui sont à l'extérieur d'un quadrilatère entourant la partie utile de l'image ainsi que les pixels qui ne correspondent pas à de l'écriture.
La position d'un point à l'intérieur ou à l'extérieur d'un quadrilatère peut s'effectuer selon la méthode illustrée figure 4.
Cette figure montre dans un plan de référence de coordonnées x,yun quadrilatère A', B', C, D' ainsi que, à l'intérieur de ce quadrilatère, deux points P et G de coordonnées xp, yp et xo, yo. Le point G peut consister en le barycentre du quadrilatère A', B', C, D' ou plus simplement le centre de ses diagonales, par exemple l*s centre du segment B'D'.
Les segments A'B' - B'C - CD' et D'A' sont respectivement portés par des droites Di, D2, D3, D4. L'expression de ces droites et, d'une façon plus générale, d'une droite Di avec i = 1, 2, 3, 4 est du type : ai . x + bi . y + ci = 0 ai, bi, ci étant des constantes.
Le point P est donc à l'intérieur du quadrilatère si et seulement si il est touj ours du même côté que G par rapport aux limites du quadrilatère (chaque limite droite Di à D4 divisant le plan en deux parties) : ceci revient à dire que ai . xp + bi . yp + ci et ai . xo + bi . yo + co, ont le même signe pour i appartenant à l'ensemble { 1, 2_, 3, 4 }. Ceci s'écrit sous la forme suivante :
V i e { 1, 2, 3, 4} (ai . xp + bi . yp + ci) . (ai . xo + bi . xo + ci) > 0
b) Une seconde étape de calcul de masque idéal par homographie directe. On se reportera ici à la figure 7 qui illustre le principe du calcul de l'image d'un point par homographie. Sur cette figure, on a représenté un quadrilatère Pi, P2_, P3, P4 déterminé en utilisant la méthode précédemment décrite (page) et un point de coordonnées (u, v) situé à l'intérieur de ce quadrilatère.
Le point 0, s'il existe, est l'intersection des droites (Pi, P2) et (P3, P4). Le point Q est l'intersection des droites (Pi, P4) et (P2, P3). Le point I est l'intersection des segments
OP et Pj, P4 , tandis que J est l'intersection des segments QP et P3, P4 .
On sait que l'homographie permet de transformer un quadrilatère (ici Pi à P4) en un rectangle H(Pι), H(P2), H(P3), H(P4) visible sur la figure 8.
Sur cette figure 8, on a également représenté un point (x, y) de coordonnées H(I), H(J) et indiqué la longueur Dx et la largeur Dy du rectangle.
La conservation des rapports croisés donne alors : OP4 JP3 Dx-l-x OP3 ' JP4 x
On en déduit les coordonnées de H(P) (Dx-l).OP3.JP4 x = OP3.JP4+OP4.JP3
(Dy-l).QPl.IP4 y = QPI.IP4+QP4.IP1
Le calcul de l'image d'une ligne par homographie découle d'une façon évidente de ce calcul puisque l'image d'une ligne consiste simplement en le segment joignant les images des deux points de la ligne originale. Le calcul du masque idéal s'effectue selon le processus suivant :
Soit un pixel (i, j) qui correspond à récriture dans le masque binaire déformé, avec ses quatre sous-pixels qui l'entourent (figure 9) :
1 1 1 1 1 1 1 1 ^ " 2 '* ' 2^ " 2 ' + )' ^ + 2 ' * + ? ^ + 2' " 2}
Supposons que A, B, C et D sont les images de ces sous-pixels par homographie directe (figure 10). A, B, C, D est donc un quadrilatère. Considérons le plus petit rectangle qui contient ce quadrilatère. Tous les pixels contenus dans ce rectangle sont portés à la valeur "Vrai" par exemple la valeur 1. Ceci permet d'obtenir un masque binaire idéal. Il convient alors d'établir un mécanisme de calcul de l'image d'un point de coordonnées de la forme 1 1
(u ± ~ , v ± ~) où u, v est un pixel.
A cet effet, on considère un point P du plan de coordonnées (u --= ~ , v ± ~) . Ce 2 2 point est déterminé par l'intersection de deux interlignes : la ligne verticale de 1 1 coordonnées u ± ~ et la ligne horizontale de coordonnées v --- ~ . L'image du point 2.
P est alors à l'intersection des images des lignes horizontales et verticales obtenues par l'homographie.
En conséquence, on précalcule les images de ces interlignes (et intercolonnes). Une fois que ces images ont été précalculées, les images des sous-pixels sont obtenues en intersectant deux images d'interligne précalculées.
c) Une troisième étape d'homographie inverse.
Dans le but de calculer l'image finale, on doit assigner à chaque pixel du masque binaire une intensité qui est calculée en retrouvant la position de ce pixel dans l'image initiale : A cet effet, il est nécessaire d'effectuer un calcul d'homographie inverse.
Ainsi, en reprenant la symbologie des figures 7 et 8, on considère (x, y) un pixel du masque idéal. Ce pixel est à l'intersection de la ligne y et de la colonne x. La position de ce pixel dans l'image déformée est ensuite obtenue en faisant l'intersection des images de la ligne et de la colonne par homographie inverse.
Il convient alors de trouver les paramètres des lignes (QJ) et (Ol) de manière à calculer leur intersection P. On doit ensuite calculer la position des points I et J. On parvient facilement à ce résultat en trouvant les distances JP3 et IPi par exemple.
Ceci est possible en utilisant la forme de rapports croisés suivante
_ P[P4.(Dy-l-y).QPι IPI (Dy-l-y).QP1+y.QP4
Il devient alors possible de calculer la position du point P.
En pratique, on précalcule les images par homographie inverse des lignes et des colonnes du masque idéal. On déduit ensuite la position d'un pixel donné dans l'image originale en calculant l'intersection de deux lignes (dans cet exemple, les deux lignes sont (Ol) et (QJ)).
Bien entendu, l'invention ne se limite pas à cette seule méthode.
d) Une quatrième étape de création de l'image finale :
Soit (u, v) un pixel du masque idéal. Sa position dans l'image initiale déformée est calculée par l'intersection des images inverses précalculées de la ligne v et de la colonne u. Le point qui est trouvé est alors appelé (x, y). Il convient alors d'affecter une valeur d'intensité au pixel (u, v) qui sera interpolée dans le point (x, y) de l'image initiale. Pour réaliser cette opération, on utilise par exemple une interpolation bilinéaire.
Si on considère les pixels entourant le point (x, y) tel que représenté sur la figure 11, l'intensité interpolée est donnée par la formule :
I(x,y) = (y-j)[(i+l-x)I(i,j + l) + (χ-i)I(i+l,j + l)] + (j + l-y)[(i+l-x)I(I,j) + I(I+l,j)] Le pixel (u, v) dans l'image finale aura donc l'intensité I (x, y,) étant entendu que les niveaux de gris sont quantifiés dans l'image finale.
Avantageusement, l'image contenant les données extraites corrigées du bruit pourra être calculée selon le principe soustractif.
On sait que la luminance est égale à une combinaison des intensités des couleurs fondamentales (Rouge, Vert, Bleu) : par exemple L = 0,5 N + 0,3 R + 0,2 B.
Ainsi, conformément au procédé selon l'invention, pour chacun des pixels, on procède successivement à l'extraction de la luminance, à l'extraction des données brutes D(p), au calcul de la donnée contextuelle de bruit Vs, à l'extraction des données brutes corrigées du bruit D*(p) à l'aide de la donnée contextuelle de bruit, puis à la génération de l'image de luminance corrigée par le calcul suivant : l-nax ~ f • D (p) (données sombres/clair) (I pouvant être égal à 255) I (p) = i I I-jjjj- + f . D * (p) (données claires/sombre) (1-^. pouvant être égal à zéro)
Avantageusement, dans le cas d'une image couleur, on pourra utiliser le principe soustractif en retirant à la façon d'un filtre, à la couleur de fond des contrastes de chrominances déterminés pour obtenir la couleur recherchée pour l'image finale.
On pourra par exemple extraire la donnée contextuelle de bruit Ns en se basant sur l'image de luminance, puis extraire les données brutes corrigées du bruit (D*R,D*V,D*B) des canaux de couleur par calcul des données brutes des canaux DR, Dy, DB exprimant le contraste entre la chrominance observée RNB et celle du fond (Vgnd , N^nd , Ngnd) et seuillage à l'aide de Ns, et enfin générer l'image de chrominance corrigée )
A titre d'exemple, supposons qu'en un pixel, la chrominance estimée du fond correspondant à une zone blanche du support est (Ngnd ,Nynd ,Ngnd) = (160, 140, 110), et que ce pixel représente une zone d'écriture bleue ayant une chrominance ^R ' ^N ' ^β = 2^' ^' ^' Supposons que le contraste blanc/bleu corrigé du bruit lumineux est de (D*R,D*V,D*B)= (160-120, 140-115, 110-105) = (40, 25, 5). Fixons la chrominance des pixels de l'image finale représentant les zones blanches du support à (RB NB BB) = (255, 255, 255), alors on détermine la chrominance corrigée de ce pixel dans l'image finale en soustrayant à celle du blanc le contraste précédemment pondéré par un facteur f, de sorte que la chrominance corrigée (R*,N*,B*) de l'image finale en ce pixel sera, si f = 1, de (R*,N*,B*) = (RB - D*R,VB - D*v,BB - D*B) = (255 -40, 255 -25, 255 -5) = (215, 230, 250).
Le facteur f précédemment évoqué pourra être avantageusement utilisé pour aligner les couleurs obtenues avec des couleurs de référence, présentées par exemple sur une mire.
Bien entendu, l'invention ne se limite pas aux modes d'exécution précédemment décrits.
Ainsi, il s'avère notamment que le processus usuel de détermination de la valeur de seuil Ns à laquelle une information manuscrite ou imprimée peut être extraite de chaque pixel de l'image de différence D(p) (basée sur la connaissance préalable de la probabilité q qu'un maximum régional des données brutes D(p) soit engendré par du bruit) présente les deux inconvénients suivants : - Tout d'abord, la probabilité q doit être connue expérimentalement pour chaque module caméra de manière à effectuer une extraction d'informations à partir de leurs images. Ceci empêche qu'une information extraite provenant d'une image capturée par un module caméra inconnu puisse être considéré comme une information sûre (par exemple l'extraction d'une information d'une image reçue sur un serveur pour les envoyer par fax à un destinataire). - Ensuite, il est obligatoire de savoir à l'avance si l'information est sombre sur un fond clair ou inversement.
L'invention propose donc une amélioration de cette méthode qui permet d'éviter les deux inconvénients précédemment mentionnés. Cette amélioration permet notamment de déterminer de façon précise la valeur de seuil Ns à laquelle l'information imprimée ou manuscrite peut être extraite de l'image de différence D(p) (analogue à D [C, L]) et de déterminer si l'information est sombre sur fond clair ou inversement claire sur fond sombre.
En considérant une image de niveau de gris I(p) qui peut être soit une combinaison des trois canaux de couleur de l'image (rouge, bleu, vert) soit l'un de ces trois canaux, le procédé selon l'invention comprend les étapes suivantes, en référence à la figure 12 :
1) Une première étape de calcul d'histogramme de creux H_creux comportant les phases opératoires suivantes : a) pour chaque pixel p de l'image I, on effectue : i. pour chaque direction d avec 0 < [ d | < D : si les conditions - convexité de I sur [p-d, p+d], c'est-à-dire I(ρ+(l-2λ)d) < λ I(ρ-d) + (1-λ) I(ρ+d) pour tout 0 < λ < 1 (données sombres/fond clair) ou - concavité de I sur [p-d, p+d], c'est-à-dire I (p+(l -2λ)d) > λ I(p-d) + (1 -λ) I(p+d) pour tout 0 < λ < 1 (données claires/fond sombre) alors on calcule G(p,d) = (I (p+d) + I(p-d))/2 sinon on a G(p,d) = 0 ii. on calcule S(p) = valeur maximum de G(p,d) pour toutes les directions d avec 0 < | d | < D b) on calcule la valeur maximum des creux S_creuxmax qui est égale à la valeur maximum de S(p) pour tous les pixels p c) on initialise à 0 l'histogramme de creux H_creux pour chaque valeur de s comprise entre 0 et la valeur maximum des creux S_creux_max d) pour chaque pixel p de l'image S(p) on effectue les calculs suivants : i. si S(p) est un maximum régional on incrémente H_creux (S(p)) de la façon suivante :
H_creux (S(p)) - H_creux (S(p)) + 1
2) Une seconde étape de calcul d'histogramme de bosses H_bosse comportant les phases opératoires suivantes : a) pour chaque pixel p de l'image I, on effectue : i. pour chaque direction d avec 0 < | d | < D : si les conditions - convexité de I sur [p-d, p+d], c'est-à-dire I(ρ+(l-2λ)d) < λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données sombres/fond clair) ou - concavité de I sur [p-d, p+d], c'est-à-dire I (p+(l-2λ)d) > λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données claires/fond sombre) alors on calcule G(p,d) = (I (p+d) + I(p-d))/2 sinon on a G(p,d) = 0 ii. on calcule S(p) = valeur maximum de G(p,d) pour toutes les directions d avec 0 < | d | < D b) on calcule la valeur maximum des bosses S_bosse_max qui est égale à la valeur maximum de S(p) pour tous les pixels p c) on initialise à 0 l'histogramme de bosses H_bosse(s) pour chaque s compris entre 0 et la valeur maximum des bosses S_bosses_max d) pour chaque pixel p de l'image S(p) on effectue les calculs suivants : i. si S(p) est un maximum régional on incrémente H_bosse(S(p)) de la façon suivante : H_bosse (S(p)) <- H_bosse (S(p)) + 1
3) Une troisième étape de superposition des histogrammes de creux H_creux et de bosses H_bosses comportant les phases suivantes : a) le calcul de S_max selon l'expression : max = Max (valeur maximum des creux S_creux_max, valeur maximum des bosses S_bosses_max) b) le calcul de H_max selon l'expression : H_max = valeur maximum des creux H_creux(S) et des bosses H_bosse(S) pour toutes les valeurs de S c) le calcul de sO selon l'expression : sO = valeur maximum de s telle que H_creux(s) = H_max ou H_bosses(s) = H_max d) le calcul de s = sO + 1 et le choix de α tel que 0 <α < 1/2 et tant que | ln(l + H_creux(s)) - ln(l + H_bosses(s)) | < α . In (1 + H_max) on effectue s = s + 1 (où In est la fonction logarithme népérien) on détermine enfin la valeur Smin par la valeur finale de s incrémentée de 1
4) Une étape de calcul du seuil d'extraction Ns selon la relation : Ns = r . Smin + ( 1 - r) . Smax où 1/2 < r < 1
5) Une étape de comparaison de H_creux et de HJoosses comportant les phases opératoires suivantes pour β > 0 : a) le calcul d'une valeur Ν_creux d'après la relation : N_creux = somme de H_creux(s) p pour s = Smin à s = S_creux_max b) le calcul d'une valeur N_bosses d'après la relation : N_bosse = somme de H_bosses(s) p pour s = Smin à s = S_bosses_max c) si N_creux est inférieur à N_bosses, alors l'information en sombre sur fond clair doit être extraite sinon l'information en clair sur fond sombre doit être extraite
6) Une étape d'extraction d'information de luminance L(p) comportant les phases opératoires suivantes : a) le calcul de D selon un procédé connu b) pour chaque pixel p dans l'image de différence D(p), si D(p) > Ns, alors D(p) est considéré pertinent et est extrait i. si information est sombre sur fond clair, le calcul d'une valeur Lp) = Ima - f . D(p), Imax pouvant être égal à 255 ii. sinon on calcule la valeur L(p) = Imin + f . D(p), Imin pouvant être égal à 0 Si D(p) n'est pas considérée pertinente i. si l'information est en sombre sur fond clair, la valeur L(p) est égale à Ima (fond blanc) ii. sinon la valeur L(p) est égale à Imin (fond noir)
A titre d'exemple, les paramètres suivants permettent d'obtenir des résultats satisfaisants :
D = 3 α = 20 % r = 85 % pour extraction f= 5
L'invention concerne également la simulation d'une image d'un rectangle (A, B, C, CD
D) ayant un rapport d'aspect physique prescrit r = — — , un point du rectangle projeté r I J prescrit dans l'image (par exemple le point D) et une distance projetée connue (par exemple CD) avec une caméra ayant une longueur focale prescrite (f), un angle π d'inclinaison (— - i où i est l'angle d'incidence), un angle α de rotation autour de L l'axe de la caméra et si i ≠ 0, un angle de lacet prescrit (β) par rapport à l'un des points de fuite existants (par exemple Fi). Ces différents paramètres sont indiqués sur la figure 13 qui représente scliématiquement une caméra, avec son axe optique et le point focal avec le repère de coordonnées ox, oy, oz qui est lié à ce point focal.
La solution à ce problème comprend les trois étapes suivantes qui se réfèrent aux figures 2 et 3 et à la figure 14, à savoir :
- Une première étape de calcul de la position des trois points inconnus A, B et C (le point D étant prescrit) dans la nouvelle image qui doit être engendrée. Les points doivent être cohérents avec le rapport d'aspect physique r du motif qui doit être projeté sur cette nouvelle image et la position de la caméra (distance focale, angle d'inclinaison, angle de rotation, angle de lacet) qui doit être simulée.
- Une deuxième étape de calcul des relations homographiques pour projeter rinformation contenue dans le motif de l'image d'origine sur le motif calculé de l'image simulée.
- Une troisième étape de détermination de luminance et de chrominance de la nouvelle image à l'intérieur du contour calculé à partir de l'image d'origine avec des relations homographiques.
Le calcul des trois points inconnus du motif prend en considération les trois cas suivants :
Si i ≠ 0 (il existe au moins un point de fuite), le calcul comprend les quatre phases opératoires suivantes :
1. OX = f.tan(i) 2. OF = f/tan(i) 3. On place les points X et F sur une ligne passant par le centre de l'image O et faisant un angle α par rapport à la. verticale -, tan(β) 4. On place le point Fi tel que FFi = f . . sm(ι) a) si β ≠ 0 (2 points de fuite) OF.XF i) on place le point F2 tel que FF2 = — — — FFi ii) à partir des points X, Fi-, F2 (si β ≠ 0), de D et de la distance DC, on déduit les points Mi, C, Ni, Oi, Pi, O2, P2 et N2 iii) on place le point M2 de telle manière que l'on obtienne la relation dist(M N1) dist (F O1) dist (F P1) dist (F2, M2) dist (F2,N2) r : dist (M2, N2) ' dist (Fp M1) ' dist (F1, N1) ' dist (F2, O2) ' dist(F2, P2) b) si β ≠ 0 (un seul point de fuite : Fi = F) (figure 3) i) on place le point A sur la ligne (DF) de telle manière que
AF ii) on place le point B sur la ligne (FC) de telle façon que BF = CF . — — DF
c) si i = 0 (aucun point de fuite) (figure 14) 1) on place le point C en utilisant le point D, la distance DC et l'angle de rotation α 2) on place le point B de telle façon que (A, B, C, D) soit un rectangle.

Claims

Revendications
1 . Procédé d'extraction de données brutes d'une image résultant d'une prise de vue, caractérisé en ce qu'il comprend : a) la détermination, pour chaque point repéré par la colonne C et la ligne L de l'image, d'une valeur N0 [C, L] consistant en une combinaison des composantes de la couleur de l'image, b) le calcul, pour chaque point de l'image, d'une valeur de fond NFond (C, L) c) le calcul, pour chaque point de l'image, de la différence D [C, L] D [C, L] = NFond - N0 [C, L] (données sombres/fond clair) ou V0 [C, L] - NFond (données claires/fond sombre) d) le calcul d'une valeur de seuil Ns consistant en une donnée contextuelle de bruit servant à corriger les données brutes D [C, L] extraites, à partir d'histogramme de contraste et/ou de la probabilité q qu'un maximum régional des données brutes contienne du bruit e) la correction des données brutes D [C,L] à l'aide de la donnée contextuelle de bruit Ns résultant en les données extraites D* [C, L] f) le calcul, pour chaque point de l'image, d'une valeur I* [C, L] corrigée prenant en compte la donnée brute conigée D* [C, L] g) la présentation éventuelle des données extraites ou de l'image les contenant sous un angle souhaité.
2. Procédé selon la revendication 1, caractérisé en ce que la valeur de fond NFond est déterminée grâce à xme séquence opératoire comprenant les étapes suivantes : - le calcul pour chaque point de l'image, d'une valeur VN + i [C, L] qui est la valeur maximale (données sombres sur fond clair) ou minimale (données claires sur fond sombre) entre la valeur VN [C, L] et différentes moyennes de valeurs de Ns. sur des éléments structurants symétriques centrés en [C, L], - l'itération dudit calcxil un nombre prédéterminé de fois (Ν final) puis la prise en compte des valeurs de l'image NΝ final en tant que valeur de fond NFond-
3. Procédé selon la revendication 2, caractérisé en ce que le calcul de la valeur NΝ+i [C, L] est obtenu grâce à une relation du type: max ( sombre/fond clair)
VΝ + i [C, L] = (°u ≈"11 (^air/fond sombre)) l γN ^ L]
VN[C+1,L+ 1] +VN[C- 1,L- 1]
2 VN[C+1,L-1]H-VN[C- -1,L + i] 2 VN[C,L+1] + VN[C,L. -i] 2 VN[C+1,L]+VN[C-1, L] 1 2 i
4. Procédé selon la revendication 1, caractérisé en ce que la valeur de fond NFond est déterminée grâce à une séquence opératoire comprenant les étapes suivantes : - la génération d'une image NΝ+i quatre fois plus petite que N comprenant le calcul pour chaque point de l'image d'une valeur VΝ+I [C, L] qui est le maximum (données sombres sur fond clair) ou le minimum (données claires sur fond sombre) entre une moyenne locale de VN centré au point H — , , 22LL ++ — --] | et au moins une moyenne locale incluant xin plus grand nombre de pixels ; P image NN+i étant quatre fois plus petite que l'image NΝ, l'itération dudit calcul un nombre prédéterminé de fois ΝFinai. l'interpolation des valeurs de l'image NΝFinai Pour obtenir une valeur NFond qui à la même taille que l'image de départ No.
5. Procédé selon la revendication 4, caractérisé en ce que la valeur NΝ+i [C, L] est déterminée grâce à une séquence opératoire comprenant : max (sombre/fond clair) VΝ + 1 [C, L] (0U min) (clair fond sombre)
VN [2C,2L] + VN [2C+1,2L] + VN [2C.2L+1] + VN [2C+1.2I--.+1]
(VN [2C-1,2L-1] + VN [2C-1,2L] + VN [2C-1,2L+1] + VN [2C-l,2L-+-2] +VN [2C,2L-1] + VN [2C,2L] + VN [2C,2L+1] + VN [2C,2L+2] +VN [2C+1,2L-1] + VN [2C+1.2L] + VN [2C+1,2L+1] + VN [2C+l,2L+2] + VN [2C+2,2L-1] + VN [2C+2.2L] + VN [2C+2,2L+1] + VN [2C+2.2L+2] )/16 6 Procédé selon la revendication 1 , caractérisé en ce qu'il comprend une phase d'élimination du bruit électronique et/ou lumineux présent dans la donnée brute D [C, L], cette phase d'élimination de bruit consiste à calculer la donnée contextuelle de bruit Ns et à comparer pour chaque point de l'image, de la valeur D [C, L] avec la valeur de seuil Ns de manière à déterminer la valeur D* [C, L] à extraire de la façon suivante : si D [C, L] < Ns alors D* [C, L] = 0 si D [C, L] > Ns on conserve la valeur D [C, L] soit D* [C, L] = D [C, L] ou on la remplace par D [C, L] - Ns soit D* [C, L] = D [C, L] - Ns la génération de l'image I*(p) contenant les données extraites selon le principe soustractif résultant du calcul I*(p) = Imax - f .D*(p) (données sombres/fond clair) avec Imax (valeur du fond clair) pouvant être égal à 255 ou
I*(p) = Imin + f .D*(p) (données claires/fond sombre) avec Imin pouvant être égal à 0. 7. Procédé selon la revendicat on 1 , caractérisé en ce que le calcul de Vs comprend les phases opératoires suivantes : - le calcul des données brutes à extraire D(p) - le calcul d'une valeur Smax à partir de D(p) - le calcul de l'histogramme des contraste à l'aide de D(p) et la déduction de la valeur Ns à partir dudit histogramme et de la probabilité q.
8. Procédé selon la revendication 7, caractérisé en ce que D(p) est remplacé par xme estimation S(p). 9. Procédé selon la revendication 8, caractérisé en ce que le calcul S(p) comprend les phases opératoires suivantes : a) pour chaque direction d, avec 0 < | d | < D si les conditions - convexité de I sur [p-d, p+d], c'est-à-dire I(p+(1 -2λ)d) < λ I(p-d) + (1 -λ) I(p+d) pour tout 0 < λ < 1 (données sombres/fond clair) ou - concavité de I sur [p-d, p+d], c'est-à-dire I (p+(l-2λ)d) > λ I(p-d) + (1- .) I(p+d) pour tout 0 < λ < 1 (données claires/fond sombre) alors on calcule G(p,d) = (I (p+d) + I(p-d))/2 sinon on a G(p,d) = 0 b) on calcule une valeur S(p) qui est égale à la valeur maximum de G(p,d) pour toutes les directions d avec 0 < | d | < D
10. Procédé selon la revendication 7, caractérisé en ce que le susdit calcul de l'histogramme des contrastes et de la valeur Ns comprend : - xme première étape dans laquelle pour chaque pixel p dans l'image D(p), si D(p) est un maximum régional, on incrémente H(D(p)) selon la relation H(D(p)) <- H(D(p)) + 1
- xme deuxième étape dans laquelle on détermine les égalités S = Smax et N = 1/q et tant que H(S) est inférieur à N on remplace S par S - 1, la valeur finale de S étant appelée Smin, N étant le nombre πiiriimal de pixels maximum régionaux tel que l'espérance mathématique du nombre de pixels contenant du bruit est supérieure ou égale à 1,
• une troisième étape dans laquelle on calcule la valeur Vs selon la formule Vs = r . Smin + (1-r) . Smax, avec 1/2 < r < 1
11. Procédé selon la revendication 1, caractérisé en ce que le calcul de Vs comprend les phases opératoires suivantes :
- le calcul des données brutes à extraire Dcreux(p) (données sombres/fond clair) et Dbosses(p) (données claires/fond sombres) - le calcul des valeurs Screxucjmax (valeurs maximales des creux de Dcreux(p)) et Sbosses_max (valeurs minimales des bosses de Dbosses (p)) - le calcul des histogrammes des contrastes H_creux et H_bosses à partir de Dcreux(p) et Dbosses (p) - la déduction de la valeur de Vs à partir des histogrammes Hcreux et Hbosses. 12. Procédé selon la revendication 11, caractérisé en ce que Dcreux(p) et Dbosses(p) sont remplacés par des estimations de Screux(p) et Sbosses(p).
13. Procédé selon la revendication 1, caractérisé en ce que les valeurs de Sc_reux(p) et Sbosses(p) sont déterminées selon les séquences opératoires suivantes :
- Détermination de la valeur de Screux(p) : a) pour chaque pixel p de l'image I, on effectue : al . poxir chaque direction d avec 0 < | d | < E> : si les conditions - convexité de I sur [p-d, p+d], c'est-à-dire I(p+(l-2λ)d) < λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données sombres/fond clair) alors on calcule G(p,d) = (I (p+d) + I(p-d))/2 sinon on a G(p,d) = 0 a2. on calcule Screux(p) = valeur maximum de G(p,d) pour toutes les directions d avec 0 < | d | < D
- Détermination de la valeur de Sbosses(p) : b) pour chaque pixel p de l'image I, on effectue : bl . pour chaque direction d avec 0 < | d | < E> : si les conditions - concavité de I sur [p-d, p+d], c'est-à-dire I (p+(l-2λ)d) > λ I(p-d) + (1-λ) I(p+d) pour tout 0 < λ < 1 (données claires/fond sombre) alors on calcule G(ρ,d) = (I (p+d) + I(p-d))/-2 sinon on a G(p,d) = 0 b2. on calcule Sbosses(p) = valexir max-mx-un de G(p,d) pour toutes les directions d avec 0 < | d | < D.
14. Procédé selon la revendication 11, caractérisé en ce que le calcul des histogrammes de Hcreux et Hbosses et le calcul de Vs comportent les phases suivantes :
Détermination de la valeur de Hcreux : al. on initialise à 0 l'histogramme de creux H_creux poxir chaque valeur de s comprise entre 0 et la valeur maximum des creux S_creux_max a2. pour chaque pixel p de l'image D(p) on effectue les calculs suivants : i. si D(p) est un maximum régional on incrémente H_creux (D(p)) de la façon suivante : H_creux (D(ρ)) - H_creux (D(p)) + 1
Détermination de la valeur de Hbosses : bl. on initialise à 0 l'histogramme de bosses H_bosse(s) pour chaque s compris entre 0 et la valeur maximum des bosses S_bosses_max b2. pour chaque pixel p de l'image D(p) on effectue les calculs suivants : i. si D(p) est un maximum régional on incrémente H_bosse(D(p)) de la façon suivante : H_bosse (D(p)) <- H_bosse (D(p)) + 1
le calcul de Vs comprend les étapes suivantes :
- une étape de superposition des histogrammes de creux H_creux et de bosses H_bosses comportant les phases suivantes : a) le calcul de S_max selon l'expression : Smax = Max (valeur maximum des creux S_creux_max, valeur maximum des bosses S_bosses_max) b) le calcul de H_max selon l'expression : H_max = valeur maximum des creux H_creux(S) et des bosses H_bosse(S) pour toutes les valeurs de S c) le calcul de sO selon l'expression : sO = valeur maximum de s telle que H_creux(s) = Hjmax ou H_bosses(s) = H_max d) le calcul de s = sO + 1 et le choix de α tel que 0 <α < 1/2 et ta it que | ln(l + H_creux(s)) - ln(l + H_bosses(s)) | < α . In (1 + H_max) on effectue s = s + 1 (où In est la fonction logarithme népérien-) on détermine enfin la valeur Smin par la valeur finale de s incrémen-tée de 1
- une étape de calcul du seuil d'extraction Vs selon la relation : Vs = r . Smi„ + (1 - r) . Smaχ θù l/2 < r < 1 15. Procédé selon la revendication 1 , caractérisé en ce que, dans le cas de la présentation de données extraites d'une image ou d'une image les contenant selon un angle de vue souhaité, à partir d'une image prise par xme caméra sous incidence quelconque, il comprend :
- la recherche d'au moins quatre points caractéristiques identifiables d'un motif présent dans l'image prise par la caméra définissant des données contextuelles, ces points caractéristiques pouvant consister en des coins de l'image,
- l'extraction éventuelle de données selon des critères prédéterminés,
- le calcul des déformations géométriques à apporter à l'image brute ou au-x données extraites ou à l'image les contenant, à partir de la position relative des quatre points, par rapport à des positions relatives de références,
- la détermination des corrections à apporter à l'image brute ou aux données extraites ou à l'image les contenant, en fonction des déformations géométriques,
- la génération d'une image corrigée prenant en compte les corrections ainsi déterminées.
16. Procédé selon la revendication 15, caractérisé en ce qu'en vue d'obtenir une image corrigée présentant les mêmes proportions que l'objet, il comprend la détermination du rapport réel hauteur/largeur du quadrilatère défini par les susdits points et la prise en compte de ce rapport r dans la génération de l'image corrigée.
17. Procédé selon la revendication 16, caractérisé en ce que le susdit quadrilatère est la projection d'un rectangle;, et en ce que la détermination des proportions du rectangle s'effectue conformément à un processus comprenant les étapes suivantes :
- la détermination des points de fuite à partir des contours du motif et la détermination d'une ligne d'horizon reliant les points de fuite, - la détermination des coordonnées du point F de projection du centre optique O de la caméra sur la ligne d'horizon,
- le calcul du point de pied de caméra (projection orthogonale du centre optique de la caméra sur le plan du motif) à partir des distances entre les points de fuite et du point de projection F et de la distance entre ce point de projection F et le centre optique O,
- le calcul de la longueur focale à partir des distances entre le centre optique, le point de projection F et le point de pied de caméra,
- le calcul des coordonnées des points d'intersection entre les lignes de fuite et les droites reliant le point de pied de caméra et les points de fuite, ainsi que des points Oi, O2, Pi, P situés sur les lignes de fuite, à une distance conventionnelle du point de pied de caméra,
- le calcul du rapport des cotes du motif initial à partir des coordonnées précédemment calculées en considérant que le rectangle Oi, O2, Pi, P2 est la projection d'un carré s'étendant dans le plan du motif.
18. Procédé selon la revendication 17, caractérisé en ce que, dans le cas où les deux points de fuite existent, la séquence opératoire comprend les phases suivantes : le calcul des coordonnées du point F en projetant le centre optique O sur la ligne d'horizon (Fi, F2) le calcul de la position du pied de caméra par sa distance au point F, dist (X, F) grâce à la relation :
le calcul de la longueur focale f par la relation f= /dist (0, X) . dist (0, F) • la détermination des coordonnées des points Mi, Ni, Oi et Pi à partir des valeurs précédemment calculées • la détermination des coordonnées des points M2, N2, O2 et P2 à partir des valeurs précédemment calculées • le calcul du rapport d'aspect physique r en utilisant les rapports croisés et le fait que le rectangle Oi, O2, Pi, P2 est la projection d'un carré s'étendant dans
'< le plan du motif selon la relation dist^ N dist fT O dist (F P1) dist (F2, M2) dist (F2,N2) r = dist (M2, N2) ' distJP M " dist CF Nj) ' dist (F2, O2) " dist (F2, P2)
19. Procédé selon la revendication 16, caractérisé en ce que, dans le cas où seul un couple de lignes de fiiite se coupe en un point de fuite tandis que les deux autres lignes de fuite sont parallèles (point de fuite projeté à infini), le calcul du rapport r sera effectué en partant d'une longueur focale f préétablie de la caméra. 20. Procédé selon la revendication 19, caractérisé en ce que le susdit rapport r est obtenu selon la relation suivante
formule dans laquelle f est la longueur focale de la caméra (étant entendu que cette longueur focale f est précalculée).
21. Procédé selon la revendication 16, caractérisé en ce que, dans le cas où il n'existe pas de point de fuite, le rapport r est égal au rapport dist (A, B) r = dist (A, D)
22. Procédé selon la revendication 15, caractérisé en ce que la génération d'une image corrigée comprend une séquence opératoire comportant les phases suivantes :
- la création d'un masque binaire initial (déformé) des zones à corriger en isolant la partie utile de l'image initiale contenant les données extraites et en attribuant la même valeur binaire (0 ou 1) aux pixels de cette partie utile,
- le calcul d'un masque binaire idéal par transformation homographique directe du masque initial (basé sur la transformation d'une forme polygonale quelconque en une forme polygonale de référence),
- pour chaque pixel (u, v) du masque binaire idéal, le calcul par homographie inversé de la position (x, y) dans l'image initiale, la déteimination de la valeur de l'image finale au pixel (u, v) par une valeur interpolée en (x, y) dans l'image initiale.
23. Procédé selon la revendication 22, caractérisé en ce que la susdite étape de création d'un masque binaire comprend l'affectation d'une valeur nulle à tous les pixels qui sont à l'extérieur d'un quadrilatère entourant la partie utile de l'image ainsi que les pixels qui ne correspondent pas aux données éventuellement extraites.
24. Procédé selon la revendication 23, caractérisé en ce que les pixels sont considérés à l'intérieur du quadrilatère si il est toujours du même côté qu'un point G intérieur au quadrilatère par rapport aux limites du quadrilatère, le point G pouvant consister en le barycentre ou en le point d'intersection des diagonales.
25. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend un précalcul des images des interlignes et des intercolonnes de manière à obtenir les images des sous-pixels en intersectant des images d'interligne et d'intercolonne précalculées.
26. Procédé selon l'une des revendications 22 à 25, caractérisé en ce que dans le calcul de l'image finale on assigne à chaque pixel du masque binaire idéal une intensité qui est calculée en retrouvant la position de ce pixel dans l'image initiale ou l'image des données extraites.
27. Procédé selon l'une des revendications 22 à 26, caractérisé en ce que dans la phase de calcul de l'image finale, on précalcule les images par homographie inverse des lignes et des colonnes du masque idéal, et en ce que l'on déduit ensuite la position d'un pixel donné dans l'image initiale, en calculant l'intersection de deux lignes.
28. Procédé selon la revendication 15, caractérisé en ce que l'étape de création de l'image finale comprend le calcul de la position dans l'image déformée d'un pixel u, v du masque idéal, par l'intersection des images inverses précalculées de la ligne v et de la colonne u, intersection qui définit un point x, y de l'image initiale, et en ce que l'on affecte xme valeur d'intensité au pixel (u, v) qui est ensuite interpolée dans le point x, y de l'image initiale ou l'image des données extraites à partir de l'image de luminance ou de chaque canal de couleur. 29. Procédé selon la revendication 28, caractérisé en ce que l'interpolation est bilinéaire.
30. Procédé selon l'une des revendications précédentes, caractérisé en ce que la détermination de la couleur d'un pixel dans l'image finale s'effectue selon un principe soustractif.
31. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend la détermination d'une valeur de seuil Vs pour sélectionner les valeurs à extraire en vue de l'extraction selon un principe soustractif d'informations imprimées ou écrites à la main contenues dans l'image délivrée par la caméra.
32. Procédé selon la revendication 31, caractérisé en ce que la valeur de seuil Vs correspond à la valeur de seuil du gradient d'élimination d'une grille de lignes et/ou d'un seuil d'élimination de bruit. 33. Procédé selon la revendication 1 , caractérisé en ce que l'extraction des informations d'une image en couleur s'effectue avec des canaux de couleur rouge, vert et bleu, les susdites étapes d'extraction de données étant suivies pour chaque canal de couleur en déterminant un seuil pour chaque canal, l'extraction des informations de couleur desdits canaux RVB et leur recombinaison dans une image finale en couleur étant faites en extrayant les valeurs de rouge, vert, bleu dans chaque pixel pour lequel on constate un dépassement du seuil.
34. Procédé selon la revendication 33, caractérisé en ce que pour chacun des pixels, on procède successivement à l'extraction de la luminance, à l'extraction des données brutes D(p), au calcul de la donnée contextuelle de bruit Vs, à l'extraction des données brutes corrigées du bruit D*(p) à l'aide de la donnée contextuelle de bruit, puis à la génération de l'image de luminance corrigée par le calcul suivant : flmax - f . D * (p) (données sombres/clair) (Imax pouvant être égal à 255) I*(p) = {1^ + f . D * (p) (données claires/sombre) (1-^-. pouvant être égal à zéro)
35. Procédé selon la revendication 33, caractérisé en ce que la couleur recherchée pour l'image finale est obtenue selon un principe soustractif comprenant deux étapes : on estime ou on fixe arbitrairement la couleur de fond puis on retire, à la façon d'un filtre, à la couleur de fond, des contrastes de chrominances déterminés.
36. Procédé selon la revendication 35, caractérisé en ce qu'il comprend l'extraction de la donnée contextuelle de bruit Vs en se basant sur l'image de luminance, puis l'extraction des données brutes corrigées du bruit (D*R,D*V.D*B) des canaux de couleur par calcul des données brutes des canaux DR, Dy, DB exprimant le contraste entre la chrominance observée RVB et celle du fond (Vgnd , V^nd , Vgnd) un seuillage à l'aide de la donnée et la génération de l'image de chrominance corrigée grâce à la relation
)
37. Procédé selon la revendication 36, caractérisé en ce que dans le cas où dans l'image originale, la chrominance d'un pixel représentant une zone blanche du support est (Vgnd , Vynd ,Ngnd) = (160, 140, 110) et/ou un pixel représentant une zone d'écriture bleue du support a une chrominance (N0R Nov N0B) = (120, 115, 105) et où le contraste blanc/bleu corrigé du bruit lumineux est de D*R D*v D*B = (160-120, 140-115, 110-105) = (40, 25, 5), et où, par ailleurs, on fixe la chrominance des pixels de l'image finale représentant les zones blanches du support à (Rβ NB BB) = (255, 255, 255), alors on détermine la chrominance du pixel représentant une zone d'écriture bleue du support dans l'image finale en soustrayant à celle du blanc le contraste précédemment pondéré par x factexir f, de sorte que la chrominance corrigée (R* V* B*) de l'image finale en ce pixel sera, si f = 1, de (R* V* B*) = RB - D*R, VB - D*v, BB - D*B) = (255 -40, 255 -25, 255 -5) = (215, 230, 250).
38. Procédé selon la revendication 33, caractérisé en ce que compte tenu du fait qu'une image de niveau de gris I(p) peut être soit une combinaison des trois canaux de couleur de l'image (rouge, bleu, vert) soit l'un de ces canaux, il comprend les étapes suivantes :
- une première étape de calcul d'un histogramme de creux H_creux,
- une deuxième étape de calcul d'un histogramme de bosses Hj osses,
- xme troisième étape de superposition des histogrammes des creux et des bosses, - une étape de comparaison des histogrammes H_creux et H osses,
- une étape de calcul du seuil d'extraction Ns,
- une étape d'extraction des données brutes à l'aide du seuil Ns,
- ixne étape d'extraction d'information de luminance L(p).
caractérisé en ce que l'étape de comparaison des histogrammes H_creux et Hjbosses comporte les phases opératoires suivantes, pour β > 0 : a) le calcul d'une valeur Ν creux d'après la relation : Ν creux = somme de H_creux(s) p pour S = Smin à S = S_creux _max b) le calcul d'une valeur Ν bosse d'après la relation : Νjbosses = somme de H_bosse(s) p pour s = Smin à 1 = S_bosses_max c) si Ν_creux est inférieur à Njbosses, alors l'information sombre sur clair doit être extraite sinon l'information claire sur fond sombre doit être extraite
39. Procédé selon la revendication 38, caractérisé en ce que le calcul du seuil d'extraction Ns est effectué selon la relation :
Ns = r . Smin + (l - r) . Smax où l/2 < r < l
40. Procédé selon l'une des revendications 38 et 39, caractérisé en ce que l'étape d'extraction d'information de luminance L(p) comporte les phases opératoires suivantes : a) si l'information est sombre sur fond clair, le calcul de l'image de différence D à partir de I sinon le calcul de D à partir de Imax - 1 b) pour chaque pixel p dans l'image de différence D(p), si D(p) > Vs, alors D(p) est considéré pertinent et est extrait i. si l'information est noire sur fond clair, le calcul d'une valeur L(p) = Imax - f . D(p), Imax pouvant être égal à 255 ii. sinon on calcule la valeur L(p) = Imi„ + f . D(p), Imin pouvant être égal à 0
Si D(p) n'est pas considérée pertinente i. si l'information est sombre sur fond clair, la valeur L(p) est égale à Imax (fond clair), Imax pouvant être égal à 255 ii. sinon la valeur L(p) est égale à Imin (fond sombre), Imin pouvant être égal à O. 41. Procédé selon l'une des revendications précédentes, ce procédé comportant la simulation d'une image, projetée des données contenus dans un objet rectangulaire de sommet (A, B, C, D) ayant un rapport d'aspect physique prescrit CD r = ~τzτ , un point projeté prescrit D dans l'image et une distance projetée connue AB
(CD), avec une caméra ayant une longueur focale prescrite (f), un angle d'inclinaison π (— -- i) où i est l'angle d'incidence, un angle de rotation α autour de l'axe de la 2 caméra et si i ≠ 0, un angle de lacet prescrit (β) par rapport à l'un des points de fuite existants Fi, caractérisé en ce qu'il comprend les étapes suivantes :
- une première étape de calcul de la position des trois points inconnus (A, B, C) en cohérence avec le rapport d'aspect physique r,
- une deuxième étape de calcul des relations homographiques pour projeter l'information contenue dans l'objet rectangulaire d'origine sur l'image simulée,
- une troisième étape de détermination de luminance et de chrominance de l'image simulée avec les relations homographiques précédemment déterminées.
EP05742633A 2004-03-23 2005-03-17 Procede d'extraction de donnees brutes d'une image resultant d'une prise de vue Withdrawn EP1730692A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0402960A FR2868184B1 (fr) 2004-03-23 2004-03-23 Procede pour la presentation d'une image selon un angle de vue souhaite, a partir d'une image prise sous incidence quelconque
FR0413047A FR2868185B1 (fr) 2004-03-23 2004-12-07 Procede d'extraction de donnees brutes d'une image resultant d'une prise de vue
PCT/FR2005/000678 WO2005098750A1 (fr) 2004-03-23 2005-03-17 Procede d'extraction de donnees brutes d'une image resultant d'une prise de vue

Publications (1)

Publication Number Publication Date
EP1730692A1 true EP1730692A1 (fr) 2006-12-13

Family

ID=34967748

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05742633A Withdrawn EP1730692A1 (fr) 2004-03-23 2005-03-17 Procede d'extraction de donnees brutes d'une image resultant d'une prise de vue

Country Status (6)

Country Link
US (2) US7606439B2 (fr)
EP (1) EP1730692A1 (fr)
JP (1) JP2007531094A (fr)
KR (1) KR20070008652A (fr)
FR (1) FR2868185B1 (fr)
WO (1) WO2005098750A1 (fr)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060164682A1 (en) * 2005-01-25 2006-07-27 Dspv, Ltd. System and method of improving the legibility and applicability of document pictures using form based image enhancement
US9769354B2 (en) 2005-03-24 2017-09-19 Kofax, Inc. Systems and methods of processing scanned data
US20090021533A1 (en) * 2007-07-17 2009-01-22 Michael Guerzhoy Method For Extracting An Inexact Rectangular Region Into An Axis-Aligned Rectangle Image
US8139894B2 (en) 2007-12-20 2012-03-20 Intel Corporation Automatic dominant orientation estimation in text images based on steerable filters
US20090214134A1 (en) * 2008-02-27 2009-08-27 Motorola, Inc. System and method for image data extraction and assembly in digital cameras
TWI354198B (en) * 2008-04-18 2011-12-11 Primax Electronics Ltd Notebook computer and method of capturing document
US8125544B2 (en) * 2008-09-02 2012-02-28 Casio Computer Co., Ltd. Image processing apparatus for extracting quadrangle area in image
KR101035744B1 (ko) * 2008-12-08 2011-05-20 삼성전자주식회사 카메라를 이용한 문자 인식 장치 및 방법
US8958605B2 (en) 2009-02-10 2015-02-17 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9767354B2 (en) 2009-02-10 2017-09-19 Kofax, Inc. Global geographic information retrieval, validation, and normalization
US9576272B2 (en) 2009-02-10 2017-02-21 Kofax, Inc. Systems, methods and computer program products for determining document validity
JP4856263B2 (ja) * 2009-08-07 2012-01-18 シャープ株式会社 撮像画像処理システム、画像出力方法、プログラムおよび記録媒体
CN102054271B (zh) * 2009-11-02 2013-11-20 富士通株式会社 文本行检测方法和装置
ES2938620T3 (es) * 2010-09-20 2023-04-13 Fraunhofer Ges Forschung Procedimiento para diferenciar fondo y primer plano de un escenario y procedimiento para reemplazar un fondo en imágenes de un escenario
JP5488548B2 (ja) * 2011-08-04 2014-05-14 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
US10146795B2 (en) 2012-01-12 2018-12-04 Kofax, Inc. Systems and methods for mobile image capture and processing
US8989515B2 (en) 2012-01-12 2015-03-24 Kofax, Inc. Systems and methods for mobile image capture and processing
US11321772B2 (en) 2012-01-12 2022-05-03 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9058515B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
CN102663685B (zh) * 2012-03-19 2014-08-13 宁波大学 一种基于非线性的几何校正方法
WO2014160426A1 (fr) 2013-03-13 2014-10-02 Kofax, Inc. Classification des objets dans des images numériques capturées à l'aide de dispositifs mobiles
US9355312B2 (en) 2013-03-13 2016-05-31 Kofax, Inc. Systems and methods for classifying objects in digital images captured using mobile devices
US10127636B2 (en) 2013-09-27 2018-11-13 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
US10783615B2 (en) * 2013-03-13 2020-09-22 Kofax, Inc. Content-based object detection, 3D reconstruction, and data extraction from digital images
US9208536B2 (en) * 2013-09-27 2015-12-08 Kofax, Inc. Systems and methods for three dimensional geometric reconstruction of captured image data
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
DE202014011407U1 (de) 2013-05-03 2020-04-20 Kofax, Inc. Systeme zum Erkennen und Klassifizieren von Objekten in durch Mobilgeräte aufgenommenen Videos
JP2016538783A (ja) 2013-11-15 2016-12-08 コファックス, インコーポレイテッド モバイル映像データを用いて長尺文書の合成画像を生成するためのシステムおよび方法
US9760788B2 (en) 2014-10-30 2017-09-12 Kofax, Inc. Mobile document detection and orientation based on reference object characteristics
US10467465B2 (en) 2015-07-20 2019-11-05 Kofax, Inc. Range and/or polarity-based thresholding for improved data extraction
US10242285B2 (en) 2015-07-20 2019-03-26 Kofax, Inc. Iterative recognition-guided thresholding and data extraction
US9779296B1 (en) 2016-04-01 2017-10-03 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
US10803350B2 (en) 2017-11-30 2020-10-13 Kofax, Inc. Object detection and image cropping using a multi-detector approach
CN111965630A (zh) * 2020-08-17 2020-11-20 南京先能光电科技有限公司 一种空间定位系统
CN113470117B (zh) * 2021-06-28 2022-12-27 上海交通大学 基于圆球逆透视投影的单位姿三维结构光标定系统及方法
CN114037637B (zh) * 2022-01-10 2022-04-19 苏州浪潮智能科技有限公司 一种图像数据增强方法、装置、计算机设备和存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2546017B1 (fr) * 1983-05-11 1986-01-17 Thomson Csf Procede pour realiser une transformation geometrique sur une image video, et dispositifs mettant en oeuvre ce procede
JP2903923B2 (ja) * 1993-01-19 1999-06-14 株式会社日立製作所 車番認識装置
DE69630643T2 (de) * 1995-08-29 2004-10-07 Sharp Kk Videokodierungsvorrichtung
DE59708043D1 (de) * 1996-06-17 2002-10-02 Siemens Ag Kommunikationssystem und Verfahren zur Aufnahme und Verwaltung digitaler Bilder
US6199073B1 (en) * 1997-04-21 2001-03-06 Ricoh Company, Ltd. Automatic archiving of documents during their transfer between a peripheral device and a processing device
JPH10210360A (ja) * 1997-01-27 1998-08-07 Minolta Co Ltd デジタルカメラ
JPH10257323A (ja) * 1997-03-14 1998-09-25 Minolta Co Ltd 画像読取り装置
JP3935276B2 (ja) * 1998-10-21 2007-06-20 キヤノン株式会社 ネットワークデバイス管理方法、装置、記憶媒体、及び送出装置
ATE334452T1 (de) * 1998-11-06 2006-08-15 Datalogic Spa Verfahren zur korrektur der verzerrung beim abtasten eines optischen codes
WO2000031966A1 (fr) 1998-11-23 2000-06-02 Ni4U Corporation Systeme et procede de prise, selection et traitement d'images electroniques
JP2001005852A (ja) * 1999-06-23 2001-01-12 Canon Inc 有限要素モデル処理装置及び方法
JP2001177716A (ja) * 1999-12-17 2001-06-29 Ricoh Co Ltd 画像処理方法と画像処理装置
JP4010754B2 (ja) * 2000-08-10 2007-11-21 株式会社リコー 画像処理装置と画像処理方法及びコンピュータ読み取り可能な記録媒体
AU2002227215A1 (en) * 2000-11-10 2002-05-21 Eric N. Clark Wireless digital camera adapter and systems and methods related thereto and for use with such an adapter
FR2818480A1 (fr) 2000-12-04 2002-06-21 Marc Jacky Labarthe Camescope numerique bas cout
US6999111B2 (en) * 2001-06-26 2006-02-14 Eastman Kodak Company Electronic camera and system for transmitting digital over a communication network
KR20040044858A (ko) * 2001-09-07 2004-05-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 카메라 및 이미지 원근 수정 및 회전과 스태거링 수정을가진 이미지 장치
US7127271B1 (en) * 2001-10-18 2006-10-24 Iwao Fujisaki Communication device
JP2003331263A (ja) * 2002-05-13 2003-11-21 Nippon Telegr & Teleph Corp <Ntt> カメラ画像−実空間座標対応付けマップ生成方法、カメラ画像−実空間座標対応付けマップ生成装置、プログラムおよび記録媒体
FR2840093B1 (fr) * 2002-05-27 2006-02-10 Real Eyes 3D Procede de numerisation par camera avec correction de la deformation et amelioration de la resolution
JP2004040395A (ja) * 2002-07-02 2004-02-05 Fujitsu Ltd 画像歪み補正装置、方法及びプログラム
US7596286B2 (en) * 2003-08-06 2009-09-29 Sony Corporation Image processing apparatus, image processing system, imaging apparatus and image processing method
CN101015199B (zh) * 2004-07-07 2011-10-19 日本电气株式会社 宽视野图像输入方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2005098750A1 *

Also Published As

Publication number Publication date
US20100033603A1 (en) 2010-02-11
FR2868185B1 (fr) 2006-06-30
FR2868185A1 (fr) 2005-09-30
JP2007531094A (ja) 2007-11-01
WO2005098750A8 (fr) 2006-12-21
US7606439B2 (en) 2009-10-20
KR20070008652A (ko) 2007-01-17
WO2005098750A1 (fr) 2005-10-20
US20050212925A1 (en) 2005-09-29

Similar Documents

Publication Publication Date Title
WO2005098750A1 (fr) Procede d&#39;extraction de donnees brutes d&#39;une image resultant d&#39;une prise de vue
US11546567B2 (en) Multimodal foreground background segmentation
CN105374065B (zh) 用于在渲染图像中使用的可重新照明纹理
Yang et al. Fast single image reflection suppression via convex optimization
TWI430202B (zh) 使用全色像素之銳化方法
ES2258795T3 (es) Procedimiento y dispositivo para la alineacion de imagenes.
TWI526992B (zh) 擴充實境中基於深度攝影機之遮蔽效果優化方法
US20160142615A1 (en) Robust layered light-field rendering
Park et al. Image de-fencing revisited
WO2007087405A2 (fr) Systemes, procedes et supports pour capturer des images de scene et une geometrie en profondeur et generer une image de compensation
KR102084343B1 (ko) 배경 제거
WO2015121542A1 (fr) Procédé d&#39;alignement perfectionné de deux moyens de projection
WO2017077217A1 (fr) Calibration 3d d&#39;un systeme de mapping video
Pickup et al. Overcoming registration uncertainty in image super-resolution: maximize or marginalize?
FR3027144A1 (fr) Procede et dispositif de determination de mouvement entre des images video successives
WO2017013068A1 (fr) Procédé et dispositif d&#39;affichage de scène tridimensionnelle sur une surface d&#39;affichage de forme arbitraire non plane
FR2830648A1 (fr) Procede d&#39;elimination de rayures dans des images numeriques
Bapat et al. An iterative, non-local approach for restoring depth maps in RGB-D images
FR3066304A1 (fr) Procede de compositon d&#39;une image d&#39;un utilisateur immerge dans une scene virtuelle, dispositif, equipement terminal, systeme de realite virtuelle et programme d&#39;ordinateur associes
JP2004128643A (ja) 画像の傾き補正方法
WO2019081587A1 (fr) Procede de restauration d&#39;images
FR3026534B1 (fr) Generation d&#39;un film d&#39;animation personnalise
Schumacher et al. Hallucination of facial details from degraded images using 3D face models
EP2826017B1 (fr) Procédé de détermination des paramètres géométriques indiquant le mouvement d&#39;une caméra
Yang et al. Saliency‐aware Real‐time Volumetric Fusion for Object Reconstruction

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20061003

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20111001