Exercice 2 : Etiquetage en composantes connexes – 3 points
Rappel : une composante 4-connexe (resp. 8-connexe) est telle qu’entre tout couple de
pixels de la composante, il existe un chemin 4-connexe (resp. 8-connexe).
Image binaire Composantes 4-connexes Composantes 8-connexes
L’étiquetage en composantes connexes d’une image attribue à tous les pixels d’une
composante connexe une même étiquette (valeur entière). Chaque composante connexe est
alors identifiée par son étiquette (tel que l’illustre la figure ci-dessous, pour les composantes 4-
connexes de l’image précédente).
Les algorithmes d’étiquetage en composantes connexes détectent les adjacences entre
pixels et définissent l’étiquette du point courant en fonction de celles des points voisins.
1) En vous inspirant de l’algorithme d'agrégation de pixels (méthode de segmentation appelée
également croissance de régions) vu en cours et en TP, écrivez une fonction (en pseudo-code,
C/C++ ou matlab) réalisant l’étiquetage en composantes 4-connexes d’une image binaire B
donnée en entrée. La fonction doit retourner l’image des étiquettes L (de même taille que B).
2) L’approche par double parcours est une autre façon de réaliser l’étiquetage en
composantes 4-connexes. L’algorithme correspondant est le suivant :
Paramètre d'entrée : image binaire B - Résultat de sortie : image d'étiquettes L
Algorithme :
1. Premier parcours de l'image, dans le sens classique (balayage ligne par ligne en commençant
en haut à gauche) :
Pour chaque pixel à 1 dans B, on affecte :
- la plus petite étiquette parmi celles de ses voisins haut (H) et gauche (G)
- ou une nouvelle étiquette si aucun de ces 2 voisins n'est encore étiqueté
2. Second parcours de l'image, dans le sens inverse (en commençant en bas à droite) :
À chaque pixel précédemment étiqueté, on affecte la plus petite étiquette parmi la sienne et celles
de ses voisins bas (B) et droite (D) possédant une étiquette non nulle.