3 Images Binaires
Transcription
3 Images Binaires
III Caractérisation d'image binaire 1. Généralités Les images binaires codent l'information sur deux valeurs. Rarement le résultat direct d'un capteur, mais facilement obtenues par seuillage dans certains cas: - pièce mécanique sur un tapi roulant contrasté - écriture 2. Etiquetage des composantes connexes Etape essentielle dans un processus de reconnaissance. L'image résultat étiquette les pixels des différentes composantes et définit une carte des régions. Cette opération peut être assimilée à un remplissage ou un coloriage : On utilise généralement la 4connexité mais parfois la 8-connexité sur des formes "curviligne" (écriture, ...) . 1 1 1 1 1 1 2 1 3 3 2 2 2 2 2 2 3 3 3 3 3 Image initiale et carte des régions Etiquetage non récursif : Dans un balayage gauche droite et de haut en bas de l’image, - on colorie un pixel en fonction de ses voisins déjà colorié (à gauche et au dessus), - lorsque deux branches se connectent, on dit que leurs couleurs sont équivalentes. 1 1 2 1 1 2 1 1 2 1 1 1 1 numéro <- 0; pour tous les pixels P de gauche à droite et de haut en bas : si P est différent du fond alors si seulement un des deux voisins sup et gauche a une étiquette e alors marquer P avec e ; sinon si ces deux voisins ont la même étiquette e alors marquer P avec e ; sinon si ces deux voisins ont deux étiquettes différentes e1 et e2 alors marquer P avec min(e1, e2) ; mettre (e1, e2) dans une table d'équivalence ; sinon numéro <- numéro+1; marquer P avec numéro; fin si fin si fin pour prendre le plus petit élément comme représentant de chaque classe; Attention à la transitivité de l’équivalence pour le choix d’un représentant 3. Elimination des petites régions 4. Filtrage morphologique sur une image binaire Le but principal de ces techniques est de « régulariser » le contour de formes. On définit initialement une fenêtre d'observation e (élément structurant) pour analyser localement une forme X donnée et prendre une décision (transformation en tout ou rien). Soit Xt(e) le transformé de X par e Ces transformations s'appuient sur des opérations ensemblistes : union, intersection, complémentaire, différence symétrique ( X / Y = X »Y – X « Y ) Elles respectent un certain nombre de propriétés : - invariance par translation T(X t(e)) = (T(X)) t(e) - compatibilité avec l'homothétie H(X t(e)) = H(X) t(H(e)) - continuité monotone si X tend vers X0, alors X t(e) tend vers X0 t(e) 4.1 Elément structurant Une origine et une forme. En général, isotrope, connexe et convexe : Mais pas toujours : 4.2 Erosion et dilatation La morphologie mathématique est connue pour ses relations ensemblistes : - "e est inclus dans X" - "e intersecte avec X" L’érosion et la dilatation sont les deux transformations basées sur la validité respective de ces deux propositions (vrai ou faux) pour chacun des pixels de l’image. Elément structurant S érosion Forme initiale Partie érodée Partie dilatée dilatation Propriétés de l'érosion : - élargie les chenaux et les trous, - supprime les caps étroits et les petits îlots, - elle peut transformer une presqu'île en île. Propriétés de la dilatation : - élargie les caps, - comble les chenaux et les trous étroits, - peut souder deux formes proches. 4.3 Ouverture et fermeture morphologique - l'ouverture : érosion suivie d'une dilatation, la fermeture : dilatation suivie d'une érosion. Propriétés : - ouvert(X) est inclus dans X qui est inclus dans fermé(X), - l'ouverture et la fermeture sont idempotentes : ouvert(ouvert(X))=ouvert(X) Effets de l’ouverture : - conserve en général la taille de la forme, - supprime les caps étroits et les petits îlots, - elle peut transformer une presqu'île en île. Effets de la fermeture : - conserve en général la taille de la forme, - comble les chenaux et les trous étroits, - peut souder deux formes proches. 4.4 Applications - Lissage de forme, - Transformations itératives pour dégager une hiérarchie des composantes connexes, Exemple : la Granulométrie Etude statistique de la forme des "grains" qui composent un matériaux. Premiers problèmes que la morphologie mathématique ait traités. - Enchaînement des tamisages de plus en plus « fins » - Etude différentielle de ce qui reste. Le tamisage est une opération idempotente et croissante (ouverture). 4.5 Transformation homotopique Qui ne modifie pas le nombre de composantes connexes. Soit les deux familles de voisinage définit ci-dessous : 0 0 0 1 * 0 1 1 1 0 * 1 * 1 * 1 1 0 * 1 * 0 1 1 1 1 1 * 0 0 0 0 0 * 1 1 masque 1 masque 2 masque 3 masque 4 * 0 0 * 1 * * 1 * 0 0 * 1 1 0 1 1 0 0 1 1 0 1 1 * 1 * * 0 0 0 0 * * 1 * masque 5 masque 6 masque 7 masque 8 Amincissement homothopique : Ë application successive des 8 voisinages sur l’image * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * forme initiale * * * * * 1 1 * * * * 4 * * * 4 * * * 7 * * 7 * 3 1 * * * * * 3 1 * * * * * 3 1 * * * * 6 1 * * * * 3 1 * * * * 3 1 * * * * 7 1 * * * * * 7 5 * * * * * 3 5 * * * * 3 2 2 2 2 * 1..8 : pixels effacés par un des 8 filtres. * : squelette par amincissements successifs Répéter l’amincissement jusqu’à stabilité : squelette d’une forme Ë rendre filiforme des régions peu épaisses (ex : tracé d’écriture), Ë étude du squelette après ébarbulage, Attention : résultat instable en fonction de la forme 5. Position d'une forme Emplacement : le centre de gravité Orientation : diamètre de la forme ou axe principal d'inertie 6. Caractérisation d'une composante La caractérisation d'une forme n'a pas de solution générale. Utilisation d'indices invariants par rotation, translation et homothétie. Indices définis pour des formes simplement connexes. Ë caractérisation de formes convexes Ë caractérisation de formes concaves 6.1 Mesures Nécessité de définir une métrique : distance euclidienne, "city-bloc", … a) La surface Ë Pendant l’étiquetage Ë Remplissage à germe par ligne de balayage : - remplissage itératif des lignes , - aspect récursif réservé au remplissage de « nouvelles branches ». On suppose que l’on dispose d’un germe (i, j) : Action remplissage (i,j ) remplir la ligne i jusqu’à « butter » sur jmin et jmax ; tant qu’il existe un germe (i-1, k) avec jmin <= k <= jmax relancer le remplissage à partir de (i-1, k) ; fin tant que faire de même avec la ligne i+1 ; fin action b) Le périmètre Ë pixels de X qui ont un 4-voisin dans Xc Ë parcours « main droite » P c) Le diamètre Distance maximum entre deux points du périmètre. stocker les points du périmètre dans un tableau ; soit G le centre de gravité ; soit P1 le point du périmètre le plus éloigné de G ; chercher P2 du périmètre qui maximise D(P1,P2) ; d) épaisseur Peut être défini de plusieurs façon : - Plus petite corde passant par le milieu du diamètre - Plus grande corde perpendiculaire au diamètre Pour être efficace, les cordes candidates seront tracées avec l’algorithme de Bresenham en partant du diamètre jusqu’à détecter la sortie de la forme aux deux extrémités. soit (P1,p2) le diamètre de X ; épaisseur <- 0; Pour tous les points M du segment discret (P1,P2) Tracer(Q1,Q2) passant par M et ortho. à (P1,P2) ; d <- D(Q1,Q2) ; si d > épaisseur alors épaisseur <- d ; fin pour e) Rayons du cercle circonscrit t : le tableau des points de contours de X C : un point dans X (le centre de gravite, …) rayon <- min des distances de C aux points de contour ; repeter P <-C; pour les 8 voisins Q de C d <- max des distances de Q aux points de contour; si d < rayon alors rayon <- d et P<-Q ; fin pour jusqu'a P=C f) Rayons du cercle inscrit Une forme continue convexe peu perdre sa convexité lorsqu'on la discrétise. L'enveloppe convexe est très proche du périmètre discret mais on perd la continuité du contour. cercle inscrit et cercle circonscrit Les distances de chanfrein pour trouver le diamètre du cercle inscrit : Pour la distance de Manathan ("city block") d(A, B) = | xA – xB | + | yA – yB | on considère le masque de distance ci contre (deux demi masques Msup et Minf ) : 2 1 1 2 2 1 1 2 parcours de haut en bas, de gauche à droite avec le masque Msup pour chaque pixel de X : - retenir le min des voisins augmentés de la valeur du masque (distance aux bords supérieur et gauche) parcours en sens inverse avec le masque Minf pour chaque pixel de X retenir le min entre : - la valeur du pixel - ses voisins augmentés de la valeur du masque. 1 1 1 1 1 2 2 2 2 1 2 3 3 2 1 2 3 4 3 1 2 3 1 Carte des distances aux bords gauche et supérieur 1 1 1 1 1 2 2 2 1 1 2 3 3 2 1 2 2 2 1 1 1 1 1 Carte des distances au bord La plus grande valeur contenue dans la forme donne le centre et le rayon du cercle inscrit à 1 pixel près. Pour une approximation de la distance euclidienne : 4 3 3 4 4 3 3 4 Remarque : Les distances de chanfrein sont surtout utilisées pour l’extraction de squelette (lignes de crête dans la carte des distances). 6.2 Indices pour des formes convexes Un indice est défini dans l'intervalle [0, 1] . Il doit être indépendant de la position, de l'orientation et de la taille de la forme. a) L'allongement rapport épaisseur/diamètre rayon inscrit / rayon circonscrit b) L'isopérimétrie 4p surface / périmètre2 : cet indice est maximum pour le cercle. c) L'écart au cercle inscrit 1 - p (rayon inscrit) 2 / surface 6.3 Indices pour des formes concaves Les indices précédents sont applicables sur Cv(X) Indices supplémentaires pour la concavité : - surface(X) / surface(Cv(X)) - périmètre(Cv(X)) / périmètre(X) - le changement de concavité le long du périmètre q . q . . p Changement significatif de courbure le long d'une forme régulière. 6.4 Enveloppe convexe Un ensemble X est convexe si pour tous p et q dans X, le segment (p, q) est inclus dans X. La discrétisation ne respecte pas la convexité. Enveloppe convexe : plus petit polygone convexe contenant X I I action Soit C la table des N points de contours de X ; ordonner C suivant les abscisses croissantes ; enveloppe(C, 0, N); fin action action enveloppe(C, min, max) si (abscisse(C[max-1]) - abscisse(C[min]) > 1) milieu <- (min+max)/2 ; tant que (abscisse(milieu-1) = abscisse(milieu)) milieu <- milieu-1 ; fin tant que enveloppe(C, min, milieu) ; enveloppe(C, milieu, max) ; fusionEnveloppes(C, min, milieu, max) ; fin si ; fin action Remarques : Lors de la fusion, les points supprimés sont seulement neutralisés avec une valeur spécifique (ex : -1). 6.5 Formes non simplement connexes Un trou dans une forme est un indice pertinent pour sa caractérisation : les lettres A , B et C ont respectivement 1, 2 et 0 trous. 6.6 Profils Profil : « accumulation » des pixels de la forme en les projetant sur un axe. Un profil de forme est moins riche mais sa dimension 1D facilite sa caractérisation (position des extrema et amplitudes).