You are on page 1of 18

Les images binaires

1





Chapitre VI : Les images binaires


Une image binaire est une image pour laquelle chaque pixel ne peut avoir pour valeur que 0
ou 1. La manipulation de telles images regorge d'outils spcialiss ainsi que de thories
mathmatiques pour plusieurs raisons :

Les dbuts du traitement des images numriques ne permettaient pas le traitement
d'images complexes (problme de temps de calcul, d'espace mmoire disponible et
qualit des priphriques de sortie). De plus, les premires applications
(reconnaissance de caractres, analyse de traces laisses dans les chambres bulles par
des particules) vers 1950 s'adaptaient bien ce type d'images.
Les images binaires sont un contexte simple permettant une formalisation
mathmatique des problmes par des outils tels que la topologie.

Dans le domaine de la vision industrielle (dtection de dfauts, contrle qualit, mesure, ...)
on considre souvent l'image binaire comme un passage oblig, suivant en gnral la phase de
segmentation.

Deux catgories d'outils sont alors ncessaires pour d'une part le codage efficace (et
ventuellement la compression) et d'autre part pour le traitement (analyse et description des
formes).

V.1 Quelques notions

Il existe un ensemble de notions propres aux images binaires. La plupart des notions exposes
ici relvent d'un domaine particulier de l'analyse d'image : la gomtrie discrte. Soit I une
image binaire et I(i,j) la valeur du pixel m de coordonnes (i,j) dans I.

V.1.a : Le fond et la forme

Les deux classes forme et fond constituent une partition de l'image I telle que :

Forme = { m I tels que I(m) = 1}
Les images binaires
2
Fond = {m I tels que I(m) = 0}
La forme peut reprsenter plusieurs objets (notion de composante connexe); certaines
composantes du fond peuvent reprsenter des trous dans les objets.

V.1.b : Segment

On appelle segment de l'image I, le quadruplet :

s = (g,d,l,v) vrifiant : i [g,d], I(l,i) = v avec bien sr v = 0 ou 1

Un segment est donc une suite continue de pixels de mme valeur sur une ligne donne.
Chaque lment du quadruplet porte un nom :

g : gauche de s
d : droite de s
l : ligne de s
v : valeur de s

Bien sr, cette dcomposition de l'image en segments n'est pas unique car elle privilgie une
analyse ligne ligne. Une analyse colonne colonne est tout aussi envisageable. Les lments
du quadruplet porteraient alors les noms haut, bas, colonne et valeur.

Soit S(i,x) l'ensemble des segments de la ligne i ayant pour valeur x :

S(i,x) = { s tels que : l(s) = i et v(s) = x}

L'ensemble S des segments de l'image I est dfini par :
U
x i
x i S S
,
) , ( =

V.1.c : Connexit

On appelle relation de connexit et l'on note C
0
(s,s'), la relation dfinie sur S de la manire
suivante:

C
0
(s,s') s dans S(i,x) et s' dans S(i-1,x) et g(s') < d(s)+1 ou g(s) < d(s')+1.
On dit alors que s est connect avec s' ou que s et s' sont connexes.
C
0
(s,s') C
0
(s',s)

La dcomposition ligne ligne est donc indpendante du choix de la ligne de dpart. On note
C
0
*
la fermeture transitive de C
0
. La figure 1 illustre cette relation de connexit entre les
segments.

Les images binaires
3
Connexit
Pas de connexit
Pas de connexit


Figure 1 : Relation de connexit entre des segments

V.1.d : Distance

Tout pixel d'une image est caractris par un couple de coordonnes (x,y). On peut donc
calculer des distances entre pixels. Les distances les plus courantes sont (pour deux pixels
P(x
p
,y
p
) et Q(x
q
,y
q
)):

Distance de Manathan : d
1
(P,Q)=|x
p
- x
q
| + |y
p
- y
q
|
Distance Euclidienne : d
2
(P,Q)= ( ) ( )
2 2
q p q p
y y x x +
Distance de l'Echiquier : d
inf
(P,Q)=Max(|x
p
- x
q
| , |y
p
- y
q
|)

Ces distances sont relies par la proprit :

d
inf
(P,Q) d
2
(P,Q) d
1
(P,Q)

Il existe des distances pour tous les lments d'une image. Pour les distances entre pixels,
nous reporterons donc aux dfinitions prcdentes. On notera par la suite d(p,q) la distance
entre deux pixels.

V.1.e : Voisinage d'un objet et connexit

On appelle voisinage d'ordre k du pixel P et l'on note V
k
(P) l'ensemble des pixels Q dfinit
par:

V
k
(P) = { Q tels que : 0 < d(P,Q) k }

Par extension, on dfinit le voisinage de tout composant A de I par l'union de tous les
voisinages des pixels de A.

On peut dfinir un objet par la relation de voisinage. On dit que deux points P et Q son
connects si il existe un chemin connexe(suite de points P=P
0
, P
1
, ... , P
n-1
, P
n
=Q telle que P
i

est voisin de P
i-1
) entre P et Q de points ayant la mme valeur. Cette relation est une relation
d'quivalence, dont chaque classe dfinit un objet de l'image. Le type de voisinage utilis
influe bien sr sur les objets rsultants. Des algorithmes trs efficaces permettent d'tiqueter
les diffrents objets d'une image.
Les images binaires
4
La notion de connexitdrive de la notion de voisinage. Il existe principalement deux ordres
de connexit : 4 et 8. Ce nombre correspond la taille du plus petit voisinage non vide d'un
pixel. Un pixel a 4 voisins directs si l'on choisit la distance d
1
, il en a 8 avec la distance d
inf


Connexit d'ordre 4 Connexit d'ordre 8


Figure 2 : Connexit et voisinage

V.1.f : Courbe, arc

Une courbeest un chemin connexe dont tous les points possdent exactement deux voisins.
Un arc est une courbe pour laquelle les deux points extrmits n'ont qu'un seul voisin.

V.1.g : Prdcesseurs

Il est ncessaire de dfinir cette notion dans le cadre du traitement des images binaires. Soit P
un pixel d'une image. Dans le schma suivant, les pixels indiqus a sont les prdcesseurs du
pixel P dans un balayage avant, les pixels indiqus b sont les prdcesseurs de P dans un
balayage arrire.

a a a
a P b
b b b
i
j


Figure 3 : Dsignation des prdcesseurs d'un pixel (en fonction du sens de balayage)


V.2 Les composantes connexes

V.2.a : Introduction

Partant d'une image binaire, on souhaite souvent faire des mesures sur les ensembles de points
connexes qui la composent. Ces lments sont appels les composantes connexes de l'image.

L'tiquetage des composantes connexes d'une image binaire consiste attribuer un label,
tiquette ou numro diffrent pour chaque composante connexe et identique pour tous les
pixels d'un mme composante. Il existe de nombreux algorithmes ralisant cette fonction. Ils
Les images binaires
5
dpendent de la connexit considre et se diffrencient aussi par leur approche squentielle
ou parallle..

Une composante connexe peut alors tre extraite par l'intermdiaire de son tiquette pour faire
un traitement spcifique. L'image des tiquettes est une formulation implicite des
composantes connexes; l'extraction aura pour but la transformation de cette formulation
implicite en une formulation explicite (liste des composantes connexes avec des attributs par
exemple).

V.2.b : Etiquetage squentiel itratif

Il s'agit d'un algorithme purement squentiel et qui ne ncessite que la structure image et un
compteur d'tiquettes comme structure de donnes. Le contenu de la matrice image est
modifi de manire itrative en alternant des parcours avant (indices des lignes et colonnes
croissants) et des parcours arrires (indices des lignes et colonnes dcroissants) jusqu'
stabilisation. Lors de ces parcours, le traitement suivant est appliqu en chaque point P :

Si P est un point objet (i.e. I(P) = 255)
Alors
Si P a des prdcesseurs points objets
Alors P prend pour valeur l'tiquette minimale de ses prdcesseurs
Sinon P prend pour valeur une nouvelle tiquette

Le nombre d'itrations dpend de la complexit des objets. Pour remdier cela, on peut
dfinir un algorithme qui ne ncessite que deux parcours de l'image mais qui requiert en
contrepartie la gestion d'une table de correspondance.

V.2.c : Etiquetage squentiel avec correspondance entre points

L'ide de l'algorithme est d'exploiter l'tiquetage effectu lors du premier parcours pour une
affectation finale des tiquettes ne demandant ainsi qu'un seul parcours supplmentaire. Une
table de correspondance T est cre et initialise par T(i) = i. Le premier balayage squentiel
de l'image est dfini par le traitement suivant appliqu en tout point P

Si Tous les prdcesseurs de P appartiennent au fond
Alors Affecter une nouvelle tiquette P
Sinon
Si Tous les prdcesseurs de P qui sont objet ont une mme tiquette
Alors Attribuer cette tiquette P
Sinon
Rechercher la plus petite tiquette e 0 de ces prdcesseurs
Affecter T(e) P
Mettre jour la table T par
Pour chaque prdcesseur d'tiquette a telle que T(e) != T(a)
Faire
Tant que T(a) != a
Faire
k = T(a)
T(a) = T(e)
a = k
Fin Faire
Fin Pour
Fin Si
Fin Si
Les images binaires
6
A la fin de ce balayage de l'image, on actualise la table T de manire ce qu' tout indice
corresponde l'tiquette dfinitive de l'objet.

Pour i = 1 nombre d'tiquettes utilises
Faire
j = i
Tant que T(j) != j Faire j = T(j)
T(i) = j
Fin pour

Au terme de ce traitement, les points d'un mme objet peuvent avoir des valeurs diffrentes
mais la table T permet de toutes les faire correspondre une mme tiquette.

Le second balayage sert l'attribution dfinitive sur l'image d'une mme tiquette pour tous
les points d'un mme objet. Cet algorithme ncessite donc deux balayages et l'emploi d'une
table de correspondance. Il induit galement la gnration de nombreuses tiquettes
temporaires dans le cas d'un objet de forme complexe, ce qui implique la dfinition d'une
table T de grande taille. Ceci est d la vue uniquement locale de l'algorithme lors de
l'attribution des tiquettes.

La figure 4 illustre le rsultat de cette recherche. Les pixels blancs (255=forme) de l'image de
gauche sont rassembls par "paquets" (composantes) connexes et chaque composante
connexe correspond une couleur (non noire) dans l'image de droite.



Figure 4 : Recherche de composantes connexes

V.2.d : Etiquetage parallle

L'image tiqueter tant code par la matrice A de taille N x M, on construit la suite (A
i
)
d'images (i=0 ,...; n) avec A
0
= A (image initiale) et A
n
= image tiquete finale.

L'algorithme est le suivant:




Les images binaires
7

Pour Tous les points de A
Faire en parallle
Si A(i,j) = 1
Alors A(i,j) = (i-1)*N + j
Fin si
Fin pour
k = 1
Rpter
Pour Tous les points de A
k-1

Faire en parallle
Si A
k-1
(i,j) != 0
Alors A
k
(i,j) = minimum sur le voisinage immdiat de A
k-1
(i,j)
Sinon A
k
(i,j) = 0
Fin si
Fin pour
Jusqu' A
k-1
= A
k


L'algorithme converge en au plus ) , ( M N Max itrations. Le test d'arrt se ramne un
comptage de points modifis.


V.3 La morphologie mathmatique

V.3.a : Introduction

Un des traitements les plus importants raliss sur une image binaire consiste filtrer et/ou
partitionner les objets dans un but de reprsentation ou de modlisation. Les mthodes de
partitionnement, gnralement contraintes par les proprits gomtriques des lments
rsultants (triangles, polygones, spirales (une seule suite d'artes sommets concaves), carrs,
rectangles), fournissent une partition qui n'est pas ncessairement en accord avec la
morphologie de la forme. C'est pourquoi on adopte plus volontiers les dcompositions par
recouvrement qui sont plus souples et aussi plus anthropomorphiques, c'est dire qui
co ncident davantage avec les essais humains de comprhension des formes par
dcomposition.

La morphologie mathmatique est une manire d'aborder ce problme. La thorie des
ensembles est l'un des fondements de cette discipline; son espace de travail est l'espace
discret. L'ide de base de la morphologie mathmatique, introduite par J. Serra et G. Matheron
en 1975, est de comparer les objets que l'on veut analyser un autre objet de forme, appel
lment structurant. En quelque sorte, chaque lment structurant fait apparatre l'objet sous
un jour nouveau, tout l'art consistant choisir le ou les bons clairages.

V.3.b : Les transformations ensemblistes

Fondamentalement, le morphologie mathmatique a un caractre ensembliste. Les lments
structurants dfinissent des primitives de base dont on pourra confirmer ou infirmer la
Les images binaires
8
prsence dans la forme tudie, au moyen d'oprations ensemblistes. Ceci correspond une
nouvelle dmarche dont nous disposons pour analyser qualitativement une image.

La morphologie mathmatique utilise des oprations ensemblistes pour transformer l'image.
Ces oprations peuvent tre classes en deux catgories : les transformations ensemblistes
classiques et les transformations en tout ou rien utilisant un lment structurant. Nous allons
prsenter successivement ces deux cas.

V.3.b : Les transformations ensemblistes classiques

Considrons deux ensembles X et Y. Les oprations classiques dont nous disposons sont :

L'union : Y X

L'intersection : Y X

La complmentation : ( ) Z X X
c
z
c
=

Rappel : Le complmentaire est ainsi dfini : un point x appartient au
complmentaire de X (X
c
) s'il n'appartient pas X, c'est dire :

X x X x
c


En supposant un ensemble X intersect par un masque Z. L'opration de
complmentation correspondra donc l'intersection du complmentaire X
c
par
le masque de mesure Z, que l'on notera ( ) Z X X
c
z
c
= .

A ces oprations, on peut ajouter :

La diffrence symtrique : Y X Y X Y X = /

La figure 5 rsume ces transformations.

A B
AB A|B (X
c
)Z
AB


Figure 5 : Les transformations ensemblistes classiques
Les images binaires
9

V.3.c : Transformations en tout ou rien par un lment structurant

Considrons un objet bi ou tridimensionnel et appelons X l'ensemble des points du plan (ou de
l'espace) constituant cet objet. La structure de X est donne par l'ensemble de toutes les
relations entre ces diffrents points. Les transformations en tout ou rien forment un moyen
systmatique pour tudier ces relations. Elles ne donnent pas en fait un paramtre
caractrisant la structure de X mais un nouvel ensemble.

Toutefois, la mesure d'un ou plusieurs paramtres suit toujours une ou plusieurs
transformations. L'information structurale est cependant donne non par la mesure, mais par
la transformation de l'image elle-mme, la mesure ne constituant que la quantification de cette
information structurale.

Pour faire une transformation en tout ou rien, nous devons choisir un lment B, de gomtrie
connue, appel lment structurant. Ensuite, cet lment structurant est dplac de faon ce
que son origine passe par toutes les positions de l'espace. Pour chaque position, on pose une
question relative l'union, l'intersection ou l'inclusion de B avec X ou dans X. La rponse
sera positive ou ngative, d'o le nom de transformation en tout ou rien. L'image des points
correspondants des rponses positives forme un nouvel ensemble qui constitue ce que l'on
appelle l'image transforme.

Les transformations en tout ou rien remplissent certaines conditions caractristiques dites
euclidiennes:

Invariance par translation : la transforme de la translation par un vecteur k d'un ensemble X
est gale la translation de la transforme de X : T(Tr
k
(X)) = Tr
k
(T(X)).

Compatibilit avec les homothtie : Si X est un ensemble homothtique de X et T

une
transformation dpendant de (>0). La transformation T

est compatible avec les


homothties s'il est quivalent d'appliquer T
1
X ou bien d'agrandir (ou de rduire) X dans le
rapport , lui appliquer la transformation T

puis rduire (ou augmenter) le rsultat dans le


rapport . Ceci se traduit par la relation :

) ( ) (
1
1
X T X T =




Principales proprits des transformations tout ou rien

Proprits algbriques

Croissance : Une transformation est dite croissante si ayant un ensemble X inclus dans un
ensemble Y, le transform T(X) est lui aussi inclus dans T(Y). Ceci se traduit par :

) ( ) ( Y T X T Y X
Extensivit : Une transformation est dite extensive si l'ensemble X est inclus dans son propre
transform T(X). En d'autres termes :

) ( , X T X X
Les images binaires
10

Idempotence : Une transformation est dite idempotente si ayant fait subir une transformation
T X, et ayant renouvel cette transformation sur T(X), on obtient des ensembles T(X) et
T(T(X)) gaux.

Proprits topologiques

Homotopie : Une transformation est dite homotopique si elle ne modifie pas le nombre de
connexit (c'est dire le nombre de parties disjointes composant un ensemble donn)

Prservation de la connexit : Si X est connexe, alors T(X) est connexe.

V.3.d : Transformation par rosion

La transformation par rosion est la premire transformation en tout ou rien qui ait t
utilise. C'est d'ailleurs avec la dilatation celle qui est la plus importante.

Pour dfinir l'opration d'rosion, nous allons nous situer dans un espace R
2
partiellement
occup par un ensemble X. Prenons un lment structurant B reprsentant une figure
gomtrique simple, par exemple un cercle. Cet lment B
x
est repr par son centre et plac
en x dans l'espace R
2
(figure 6). Il est ensuite dplac de telle sorte que son centre occupe
successivement toutes les positions x de l'espace.

Pour chaque position, on se pose la question suivante : est-ce que B
x
est compltement inclus
dans X ?, c'est dire en notation ensembliste :

X B
x
?

X
x
3
B
x
1
B
x
2
B


Figure 6 : Principe de l'rosion d'un ensemble X par un lment structurant B de forme
circulaire : B
x1
est inclus dans X alors que B
x2
et B
x3
ne le sont pas

L'ensemble des positions x correspondant une rponse positive forme un nouvel ensemble Y
appel rod de X par B. Cet ensemble satisfait l'quation :

{ } X B x Y
x
= /

L'rosion Y d'un ensemble X par un lment structurant B est note habituellement : Y=E
B
(X)

Les images binaires
11
La figure 7 prsente une rosion de l'ensemble de la figure 6 par un lment structurant B de
forme circulaire.



Figure 7 : Erosion de l'ensemble X de la figure 6 par un lment structurant circulaire

V.3.e : Transformation par dilatation

L'opration de dilatation se dfinit de faon analogue l'opration d'rosion.

En prenant le mme lment structurant B
x
, on se pose pour chaque point
x
de R
2
de savoir si
B
x
touche l'ensemble X, c'est dire si B
x
et X ont une intersection non vide :

= X Bx ?

L'ensemble des points x de R
2
correspondant aux rponses positives forme un nouvel
ensemble Y dont la frontire est le lieu des centres gomtrique de B
x
lorsque B
x
touche X.
L'ensemble Y satisfait l'quation :

{ } = X B x Y x /

La dilatation d'un ensemble X par un lment structurant Y est habituellement note Y=D
B
(X).
On en trouve un exemple sur la figure 8



Figure 8 : Exemple d'une dilatation de l'ensemble X de la figure 6 par un lment structurant
de forme circulaire

Les images binaires
12
V.3.f : Quelques proprits de la dilatation et de l'rosion

Il est assez important de connatre les principales proprits algbriques et topologiques de
ces deux transformations.

Croissance: Erosion et dilatation sont des transformations croissantes, c'est dire que
si X est inclus dans X', alors le dilat (ou l'rod) de X par un lment structurant B est
inclus dans le dilat (ou l'rod) de X' par le mme lment structurant B. en d'autres
termes :


) ' ( ) (
) ' ( ) (
'
X D X D
X E X E
X X
B B
B B


L'rosion est une transformation anti-extensive alors que la dilatation est une
transformation extensive, ce qui se traduit par l'expression :

) (X D X
B

X X E
B
) (

L'rosion et la dilatation ne sont pas des transformations idempotentes. Ceci est d au
fait qu'il s'agit de transformations itratives

L'rosion et la dilatation ne sont pas des transformation homotopiques (prservation
du nombre de connexit). La figure 9 illustre cette proprit. L'rosion de l'ensemble
concave X par des lments circulaires de taille croissante va d'abord augmenter le
nombre de connexit de 1 2. Celui-ci va ensuite diminuer nouveau de 2 1 puis
deviendra nul. En suivant l'volution du complmentaire X
C
, on voit que la dilatation
fait galement varier le nombre de connexit N(X
C
).

On remarque galement sur la mme figure que lorsque l'ensemble X est connexe, la
dilatation prserve cette connexit si B est connexe. Par contre, de faon gnrale,
l'rosion ne prserve pas cette connexit mme si B est connexe. Enfin, si l'ensemble X
est convexe, alors, l'rosion prservera srement la connexit et mme la convexit
puisque l'rosion dans ce cas ne conduira qu' l'intersection d'ensembles convexes.

V.3.g : Ouverture morphologique

L'ouverture est l'application de l'oprateur rosion puis de l'oprateur dilatation avec le mme
lment structurant. On appelle ouverture d'un ensemble X par un lment structurant B et on
note O
B
(X) :

O
B
(X) = D
B
(E
B
(X))

En gnral, on ne retrouve pas l'ensemble de dpart car une partie de la forme limine par
l'rosion ne peut tre recre par une dilatation. L'ensemble O
B
(X) est plus rgulier (moins de
dtails au niveau du contour) que l'ensemble initial X. En termes "gographiques" ou
morphologiques, on dit que l'ouverture adoucit les contours, coupe les isthmes troits,
Les images binaires
13
supprime les petites les et les caps troits. On peut considrer que l'ouverture ralise une sorte
de filtrage morphologique de la forme de l'ensemble X. La figure 9 illustre ce comportement.



Figure 9 : Illustration de l'ouverture morphologique
V.3.h : Fermeture morphologique

La fermeture est l'opration "inverse" de l'ouverture, c'est dire que l'on applique tout d'abord
une dilatation puis une rosion (toujours en gardant le mme lment structurant):

F
B
(X) = E
B
(D
B
(X))

Un ensemble ferm est galement moins riche en dtail que l'ensemble initial. La
transformation par fermeture bouche les canaux troits, supprime les petits lacs et les golfes
troits (figure 10).



Figure 10 : Illustration de l'ouverture et de la fermeture morphologiques
sur des ensembles non connexes

Les deux oprations d'ouverture et de fermeture sont idempotentes, c'est dire que le rsultat
est invariant aprs itrations:

O
B
(X) = O
B
(O
B
(X))
F
B
(X) = F
B
(F
B
(X))

Les images binaires
14
Ces transformations ne sont pas homotopiques, i.e. elles ne prservent pas la connexit car
elles peuvent scinder une forme en deux (rosion) ou fusionner deux formes (dilatation). Elles
ne prsentent donc pas de proprits topologiques intressantes. Ce ne sont que des
transformations d'aspect, de simplification ou de filtrage.

Il tait donc utile de pouvoir disposer d'une transformation permettant de conserver les
proprits topologiques des formes. C'est entre autres le but de la squelettisation.

V.4 La squelettisation

V.4.a : Introduction

Le squelette est une reprsentation d'une forme trs utilise car il conserve les proprits
topologiques de la forme qu'il reprsente. La notion de squelette est apparue pour l'tude des
objets minces. En effet, pour de telles figures, il est certains que c'est l'allure d'une
reprsentation filiforme qui est importante. La reconnaissance des caractres en constitue un
exemple typique.

La squelettisation est une tape essentielle de la reconnaissance de forme. Elle a pour but de
dcrire chaque objet par un ensemble de lignes infiniment fines (analogues une ossature de
l'objet), rduisant sensiblement le volume d'information manipuler. Le squelette est
gnralement dfini comme tant l'ensemble des lignes mdianes, c'est--dire l'ensemble des
points quidistants de deux points de la frontire. L'obtention du squelette des images
mosa ques binaires peut conduire des erreurs de connexit

L'ide de squelettisation consiste centrer dans la forme un squelette qui soit significatif de
l'longation et des dformations de celle-ci. Typiquement, le squelette d'un cercle va alors tre
son centre, celui d'une ellipse son grand axe, ... Malheureusement, le squelette, pour tre
fidle la forme initiale, est trs sensible au bruit (petite dformation du contour, prsence
d'un trou, ...). Le calcul du squelette en morphologie mathmatique est obtenu par une
transformation de voisinage dcrite dans la suite.

V.4.b : Les transformations de voisinage

Une transformation de voisinage est une gnralisation de l'approche tout ou rien utilise pour
les oprateurs E (rosion) et D (dilatation). Elle est ncessaire pour dfinir le processus
d'obtention d'un squelette. Dans le cas d'un maillage hexagonal, un pixel a 6 voisins. On
dfinit une configuration de voisinage en attribuant ces voisins l'une des trois valeurs
suivantes: 1, 0, 1 ou 0 (not *).

Toutes les configurations identiques une rotation prs constituent une famille caractrise
par une lettre de l'alphabet de Golay. La figure 11 prsente l'alphabet de Golay en mode
hexagonal.




Les images binaires
15
Lettre Voisinage Amincissement Epaississement
Transformation tout ou
rien
L
_ 1 _ 1 _
* _ 1 _ *
_ 0 _ 0 _
Squelette
homotopique
Squelette par zone d'influence .
M
_ 1 _ * _
1 _ 1 _ 0
_ 1 _ * _
Squelette
homotopique
Epaississement partir de points
isols
.
D
_ 0 _ * _
0 _ 1 _ 1
_ 0 _ * _
Marqueur
homotopique
Enveloppe quasi-convexe .
C
_ 1 __
1 _ 0
_ 1 __
.
Enveloppe fortement convexe
hexagonale
.
E
_ * _ * _
0 _ 1 _ 0
_ 0 _ 0 _
Ebarbulage Squelette par zone d'influence
Points extrmes du
squelette
I
_ 0 _ 0 _
0 _ 1 _ 0
_ 0 _ 0 _
. . Points isols
F
_ 1 _ 0 _
0 _ 1 _ 1
_ 1 _ 0 _
. . Points triples
F'
_ 1 _ 1 _
* _ 1 _ *
_ * _ * _
. . Points triples
H
_ 1 _ 1 _
1 _ 1 _ 1
_ 1 _ 1 _
Contour . Erosion, dilatation
R
_ * _ * _
* _ 1 _ 0
_ * _ * _
Erosion linaire Dilatation linaire .

Figure 11 : Alphabet de Golay sur un maillage hexagonal

Par dfinition, une transformation de voisinage consiste conserver les points centraux pour
lesquels le voisinage est en accord avec une configuration donne. On note cette
transformation. Plus complexe que l'rosion et la dilatation, on peut ainsi dfinir
l'amincissement et l'paississement. L'amincissement, not , consiste enlever un
ensemble X ses points correspondant une configuration donne C. L'paississement, not ,
consiste rajouter des points X. On a les relations suivantes:
Les images binaires
16
X C = X X C X (X C) = X / (X C)
X C = X (X C)

o C est une configuration de voisinage.

On obtient le squelette par amincissement itratif jusqu' idempotence X = X C l'aide de la
famille de voisinage L ou M.

Erods ultimes :

La morphologie mathmatique autorise galement des procds de dcomposition, en
l'occurrence par recherche des rods ultimes. L'objet initial est aminci jusqu' ce que
plusieurs composants connexes apparaissent (rods ultimes). La dilatation itrative avec
contrle de l'inclusion dans l'objet initial dfinit les entits de la dcomposition. Le procd
peut ensuite tre rcursif sur les diffrentes entits, dans le cas d'un objet complexe.

Ces transformations se dfinissent galement sur le maillage carr. Elles sont alors la base
d'un algorithme effectivement utilis pour raliser la squelettisation.

V.4.c : L'algorithme d'pluchage/nettoyage

La premire mthode permettant le calcul du squelette d'une image binaire est la mthode dite
des lignes de crtes. Pour chaque point, on calcule la distance la frontire : le squelette est
l'ensemble des points qui sont des maxima locaux de cette distance. Cette mthode,
finalement trs intuitive, n'est pas forcment trs aise mettre en uvre, notamment vis vis
de la caractrisation du voisinage.

Nous avons donc opt pour la prsentation d'un algorithme plus "visuel" : l'algorithme
d'pluchage/nettoyage.

1
re
phase : Epluchage
On considre que le pixel du fond est 0 et le pixel du motif 1. On balaye l'image avec les 16
masques 3x3 issus de la version "maillage rectangulaire" de l'alphabet de Golay. (Figure 12).
Si l'une des configurations est vrifie, le pixel central est remplac par 0. L'opration est
ritre jusqu' stabilit.

Les 16 masques appliquer sont identifis par le systme de numration suivant :



Les 8 cases priphriques tant affectes des puissances de 2 distinctes, chaque masque est
identifi de faon unique :

Les images binaires
17


Figure 12 : Les masques de l'pluchage

2
me
phase : Nettoyage

Si les frontires de l'objet sont bruites le squelette peut comporter beaucoup de barbules. Il
convient alors d'appliquer alors des post-traitements, galement sous forme de masques,
reprsentant des transformations de voisinage. Ces masquages (au nombre de 8) suivent le
mme principe que l'pluchage.



Fonctionnement



Sur la forme illustr la figure 13, 5 tapes d'pluchage ont t ncessaire avant stabilit.
Aprs l'tape de nettoyage, on obtient le squelette dsir. La figure 14 prsente une image
plus complexe.

Les images binaires
18


Figure 14 : Squelettisation (sans commentaire)

V.4.c : La vectorisation du squelette

Mme ramene son squelette, une image binaire de 256x256 pixels occupe 8192 octets. La
vectorisation consiste approximer le squelette (ou le contour) par une suite de segments de
droites (ou par des arcs de courbes). On y gagne en compacit et on se rapproche d'une
description gomtrique des objets. La topologie (connexit) des objets doit tre conserve au
cours de l'opration.

Un algorithme de base se dcompose en :

Division

1. Considrer la liste des points du squelette (contour) comme une sous-liste unique ;
2. Pour chaque sous-liste, chercher le point le plus loign de chaque ct de la corde
joignant les extrmits de la sous-liste ;
3. Si toutes les sous-listes prsentent un cart la corde infrieur un seuil donn, alors
fin de l'algorithme ; sinon diviser chaque sous-liste dont l'cart est suprieur au seuil
au point le plus loign et recommencer 2.

Fusion

Les sous-listes sont chanes pour reconstituer le squelette (contour) initial.

Le principe n'est pas particulirement original : il s'agit d'un split and merge, non plus sur des
approches de type rgion mais sur des approches de type squelette.

La vectorisation peut ensuite tre suivie d'un phase de modlisation dont l'objet est d'ajouter
une description mathmatique l'analyse d'image. On arrive alors dans le domaine de la
synthse.

You might also like