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).