Vous êtes sur la page 1sur 75

Université de Tunis El Manar

Ecole Nationale d’Ingénieurs de Tunis

Notes de Cours

Traitement et Analyse d’Images

Par

Hamrouni M. Kamel

Année : 2005-06
ENIT : Ecole Nationale d’Ingénieurs de Tunis

Table des matières


Chapitre-1 : Généralités ----------------------------------------------------------------------------------------------------- 6
1- Introduction : ---------------------------------------------------------------------------------------------------------- 6
2- Un peu d’histoire : ---------------------------------------------------------------------------------------------------- 6
3 - Eléments de Colorimétrie -------------------------------------------------------------------------------------------- 7
3.1 La lumière : ------------------------------------------------------------------------------------------------------- 7
4 - Les systèmes de représentation des couleurs :-------------------------------------------------------------------- 7
4.1 Système additif RGB : ------------------------------------------------------------------------------------------ 7
4.2 Le système soustractif CMY : ---------------------------------------------------------------------------------- 8
4.3 Le système HLS : ------------------------------------------------------------------------------------------------ 8
4.4 Les Systèmes XYZ et xyz :------------------------------------------------------------------------------------- 9
4.5 La table des couleurs « Color LUT » :------------------------------------------------------------------------- 9
5 - Représentation numérique d’une image : -------------------------------------------------------------------------10
5.1 Image raster :-----------------------------------------------------------------------------------------------------10
5.2 Résolution d’une image : ---------------------------------------------------------------------------------------10
5.3 Image vectorielle :-----------------------------------------------------------------------------------------------11
6- Les formats d’images : ----------------------------------------------------------------------------------------------12
7- Processus de traitement et d’analyse d’images : ----------------------------------------------------------------12

Chapitre-2 : Transformations d’Images ---------------------------------------------------------------------------------14


1- Introduction : ---------------------------------------------------------------------------------------------------------14
2- Transformation ponctuelles : ---------------------------------------------------------------------------------------14
3 - Transformations de voisinage : ------------------------------------------------------------------------------------15
3.1 Définition : -------------------------------------------------------------------------------------------------------15
3.2 Produit de convolution dans le cas discret :------------------------------------------------------------------15
3.3 Algorithmes parallèles et algorithmes séquentiels :---------------------------------------------------------15
4 - Transformée de Fourier (transformation spectrale) : -----------------------------------------------------------16
4.1 Transformée de Fourier 1-D continue (rappel) :------------------------------------------------------------16
4.2 Transformée de Fourier 1-D Discrète : -----------------------------------------------------------------------16
4.3 Transformée de Fourier 2-D continue: -----------------------------------------------------------------------17
4.4 Transformée de Fourier 2-D Discrète : -----------------------------------------------------------------------17
4.5 Propriétés de la TF 2D : ----------------------------------------------------------------------------------------18
4.6 Algorithme Rapide de calcul de la TF :TFR (FFT) : -------------------------------------------------------20
5 - Autres transformations du même type :WALSH, HADAMARD, COSINUS :---------------------------------22
5.1 Formulation générale 1-D : ------------------------------------------------------------------------------------22
5.2 Formulation générale 2-D : ------------------------------------------------------------------------------------22
5.3 Transformation de WASH :------------------------------------------------------------------------------------23
5.4 Transformation de HADAMARD : ---------------------------------------------------------------------------23
5.5 Transformation Cosinus- TC : ---------------------------------------------------------------------------------24

Chapitre-3 : REHAUSSEMENT et RESTAURATION d’IMAGES ---------------------------------------------25


1- Introduction : ---------------------------------------------------------------------------------------------------------25
2- Exemple de rehaussement : -----------------------------------------------------------------------------------------25
3 - Quelques définitions : -----------------------------------------------------------------------------------------------26
3.1 Histogramme : ---------------------------------------------------------------------------------------------------26
3.2 Histogramme cumulé :------------------------------------------------------------------------------------------26
3.3 Histogramme Horizontal/ Vertical :---------------------------------------------------------------------------27
3.4 Dynamique d’une image : --------------------------------------------------------------------------------------27
4- Définition du rehaussement : ---------------------------------------------------------------------------------------27
5- Etirement du contraste / recadrage de la dynamique :----------------------------------------------------------27
6- Egalisation (ou linéarisation) d’histogramme : -----------------------------------------------------------------28

Notes de cours : Traitement d’images 2 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

6.1 Fondement théorique : ------------------------------------------------------------------------------------------28


6.2 Cas discret : ------------------------------------------------------------------------------------------------------28
7- Spécification d’histogramme :--------------------------------------------------------------------------------------30
8 - Rehaussement par Accentuation des détails (Sharpening): ----------------------------------------------------31
8.1 Différentiation (domaine spatial) : Gradient -----------------------------------------------------------------31
8.2 Génération de l’image gradient : ------------------------------------------------------------------------------31
8.3 Le Laplacien :----------------------------------------------------------------------------------------------------32
9 - Rehaussement par filtrage spectral : ------------------------------------------------------------------------------33
9.1 Filtre passe-haut :------------------------------------------------------------------------------------------------34
9.2 Filtre passe-bas :-------------------------------------------------------------------------------------------------35
10 - Rehaussement par filtrage homomorphique : ------------------------------------------------------------------36
11 - Rehaussement par la couleur :-----------------------------------------------------------------------------------38
11.1 Découpage en Tranches ( Density Slicing) : -----------------------------------------------------------------38
11.2 Approche par filtrage :------------------------------------------------------------------------------------------38
12 - Restauration d’images --------------------------------------------------------------------------------------------38
12.1 Connaissances a priori : ----------------------------------------------------------------------------------------39
12.2 Connaissances a posteriori :------------------------------------------------------------------------------------39
12.3 Filtrage : ----------------------------------------------------------------------------------------------------------39
12.4 Filtrage dans le domaine spatial : -----------------------------------------------------------------------------39
12.5 Filtrage dans le domaine spectral : ----------------------------------------------------------------------------39

Chapitre-4 : Introduction à la MORPHOLOGIE MATHEMATIQUE -----------------------------------------41


1- Introduction : ---------------------------------------------------------------------------------------------------------41
2- Rappels sur les ensembles :-----------------------------------------------------------------------------------------41
3 - Conditions que doivent vérifier les transformations morphologiques : ---------------------------------------42
3.1 Invariance par rapport à la translation :-----------------------------------------------------------------------42
3.2 Compatibilité avec l’homothétie : -----------------------------------------------------------------------------42
3.3 Connaissance locale : -------------------------------------------------------------------------------------------42
4 - Transformations morphologiques élémentaires : ----------------------------------------------------------------42
4.1 Erosion : ----------------------------------------------------------------------------------------------------------42
4.2 Dilatation : -------------------------------------------------------------------------------------------------------43
4.3 Dualité de l’érosion et de la dilatation : ----------------------------------------------------------------------43
4.4 Propriétés des opérations d’érosion et de la dilatation : ---------------------------------------------------43
5 - Ouverture morphologique :-----------------------------------------------------------------------------------------44
5.1 Propriétés : -------------------------------------------------------------------------------------------------------44
6 - Fermeture morphologique : ----------------------------------------------------------------------------------------44
6.1 Propriétés : -------------------------------------------------------------------------------------------------------44
7- Filtres morphologiques : --------------------------------------------------------------------------------------------45
8- Autres propriétés : ---------------------------------------------------------------------------------------------------45
9 - Transformation de voisinage :--------------------------------------------------------------------------------------45
9.1 Configuration de voisinage : -----------------------------------------------------------------------------------45
9.2 Familles de voisinage : -----------------------------------------------------------------------------------------45
9.3 Transformation de voisinage : ---------------------------------------------------------------------------------45
9.4 Amincissement et épaississement : ---------------------------------------------------------------------------45
10 - Transformations géodésiques : ----------------------------------------------------------------------------------46
10.1 Distance géodésique --------------------------------------------------------------------------------------------46
10.2 Dilatation géodésique/ conditionnelle :-----------------------------------------------------------------------47
10.3 Erosion géodésique : --------------------------------------------------------------------------------------------47
10.4 L’érodé ultime :--------------------------------------------------------------------------------------------------47
10.5 Fonction distance : ----------------------------------------------------------------------------------------------47
10.6 Reconstitution morphologique : -------------------------------------------------------------------------------48
11 - Squelette :-----------------------------------------------------------------------------------------------------------48
11.1 Définition : -------------------------------------------------------------------------------------------------------48
11.2 Exemples de squelette :-----------------------------------------------------------------------------------------48

Notes de cours : Traitement d’images 3 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

11.3 Théorème de Lantuejoul (1978) : -----------------------------------------------------------------------------48


11.4 Propriétés algébriques du squelette :--------------------------------------------------------------------------49
11.5 Propriétés topologiques du squelette : ------------------------------------------------------------------------49
11.6 Exemple de segmentation par le squelette -------------------------------------------------------------------49
11.7 Squelette par zone d’influence : -------------------------------------------------------------------------------49
12 - Morphologie Mathématique des fonctions (Image en niveau de gris): -------------------------------------50
12.1 Sous graphe d’une fonction :-----------------------------------------------------------------------------------50
12.2 Extension des propriétés : --------------------------------------------------------------------------------------51
12.3 Ouverture /fermeture : ------------------------------------------------------------------------------------------51
12.4 Transformation sur les fonctions à deux dimensions :------------------------------------------------------51
13 - Filtrage non linéaire :---------------------------------------------------------------------------------------------51
14 - Gradient morphologique : ---------------------------------------------------------------------------------------52
15 - Chapeau « haut de forme » (CHF): -----------------------------------------------------------------------------52
16 - Ligne de Partage des Eaux (LPE) : -----------------------------------------------------------------------------52
16.1 Problème de la LPE : -------------------------------------------------------------------------------------------53
16.2 Contrôle de la LPE : --------------------------------------------------------------------------------------------53
16.3 Algorithmes d’obtention de la LPE :--------------------------------------------------------------------------54
17 - Exercices : ----------------------------------------------------------------------------------------------------------54

Chapitre-5 : SEGMENTATION d’IMAGES -------------------------------------------------------------------------55


1- Introduction : ---------------------------------------------------------------------------------------------------------55
2 - Approche par contour :---------------------------------------------------------------------------------------------55
2.1 La méthode du gradient----------------------------------------------------------------------------------------55
2.2 Opérateurs morphologiques : ----------------------------------------------------------------------------------57
2.3 Détermination du contour (suivi du contour) :---------------------------------------------------------------58
2.4 Méthode : seuillage par hystéresis :---------------------------------------------------------------------------58
3 - Segmentation par seuillage d’image : -----------------------------------------------------------------------------58
3.1 Principe : ---------------------------------------------------------------------------------------------------------58
3.2 Détermination de la valeur du seuil : -------------------------------------------------------------------------59
4 - Approche par région : -----------------------------------------------------------------------------------------------60
4.1 Méthode de croissance de régions-----------------------------------------------------------------------------61
4.2 Méthode par division de régions ------------------------------------------------------------------------------61
4.3 Méthode par « division-fusion» ou « Split_and_Merge » : ------------------------------------------------62
5 - Segmentation de régions texturées : -------------------------------------------------------------------------------62
5.1 Caractéristiques d’une texture :--------------------------------------------------------------------------------62
5.2 Contour de régions texturées : ---------------------------------------------------------------------------------62
5.3 Méthodes d’analyse des textures ------------------------------------------------------------------------------63
5.4 Les méthodes statistiques : -------------------------------------------------------------------------------------63
5.5 Méthodes basées sur le filtre de Gabor :----------------------------------------------------------------------66
6 - Segmentation par « Contour actif » (Snake) : --------------------------------------------------------------------67
6.1 Introduction :-----------------------------------------------------------------------------------------------------67
6.2 Eléments de fondements théoriques : -------------------------------------------------------------------------68

Chapitre-6 : GEOMETRIE, ETUDE des FORMES et MESURE----------------------------------------------70

Chapitre-6 : GEOMETRIE, ETUDE des FORMES et MESURE----------------------------------------------71


1- Introduction : ---------------------------------------------------------------------------------------------------------71
2 - Adjacence et connectivité :------------------------------------------------------------------------------------------71
2.1 Connectivité et bordure : ---------------------------------------------------------------------------------------71
2.2 Chemin : ----------------------------------------------------------------------------------------------------------71
2.3 Relation « connecté à » et composante connexe : -----------------------------------------------------------71
2.4 Fond et Trou :----------------------------------------------------------------------------------------------------71
2.5 Comptage et étiquetage des composantes connexes :-------------------------------------------------------72
3 - Description de la forme :--------------------------------------------------------------------------------------------72
3.1 Le codage en chaîne (codage de Freeman) : -----------------------------------------------------------------72

Notes de cours : Traitement d’images 4 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

3.2 Approximation polygonale : -----------------------------------------------------------------------------------73


3.3 Descripteur de Fourier : ----------------------------------------------------------------------------------------73
3.4 L’arbre quaternaire : --------------------------------------------------------------------------------------------73
3.5 Le squelette : -----------------------------------------------------------------------------------------------------74
4 - Mesures : --------------------------------------------------------------------------------------------------------------74
4.1 Mesures géométriques de base : -------------------------------------------------------------------------------74
4.2 Indices de forme : -----------------------------------------------------------------------------------------------74
4.3 Moments : --------------------------------------------------------------------------------------------------------75
4.4 Enveloppe convexe : --------------------------------------------------------------------------------------------75

Notes de cours : Traitement d’images 5 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Chapitre-1 : Généralités

1 - Introduction :

Pour l’être humain, l’image constitue l’une des principales sources d’informations. Une
scène contient une quantité importante d’informations qu’il est utile parfois de traiter et
d’analyser dans le but de prendre des décisions. Le traitement d’images admet donc deux
motivations principales :
• Recherche d’information pour une interprétation par l’homme
• Analyse de scènes pour la perception par la machine

Il existe différents domaines d’application du traitement d’images :


• En médecine, le traitement des images radiologiques, scintigraphiques, scanner permet
d’apporter une aide appréciable au diagnostic
• En biologie, le traitement d’images microscopiques permet d’automatiser des taches
répétitives et fastidieuses.
• En industrie, la vision permet aux robots d’appréhender leur environnement et d’agir en
conséquence pour l’inspection, l’assemblage ou le contrôle de qualité
• En agriculture, le traitement des images satellitaires (ou télédétection) permet de
collecter des informations
• Dans le traitement automatique de documents, la lecture de texte permet la saisie et
l’archivage automatique
• Etc…

Les applications du traitement d’image sont nombreuses et intéressent pratiquement tous les
domaines.
2 - Un peu d’histoire :
On peut présenter l’historique du traitement d’images en 4 périodes :

1950-1970 : Traitement de l’image :

L’existence d’images de mauvaises qualités (Rayons X, OCR, …) et volumineuses a conduit


les chercheurs à s’intéresser à :
− La restauration (corriger les défauts liés à l'acquisition)
− L’amélioration (rendre l'image "belle" pour l'affichage)
− La compression (réduire le volume de l'image)

1970-1980 : Du traitement vers l’interprétation :

L’évolution naturelle vers l'extraction automatique d'informations a conduit à l’apparition de


nouvelles notions telles que :
− L’analyse d’images en vue de l’extraction automatique d’information d’où les thèmes :
seuillage, segmentation, extraction de contours, morphologie mathématique (pour les
images binaires), ...
− L’interprétation d'images et les systèmes experts

Notes de cours : Traitement d’images 6 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

1980- : La vision par ordinateur :

− De l'image 2D aux modèles tri-dimensionnels


− Analyse du mouvement
− Vision pour la robotique (mouvement, 3D, détection d'obstacle, trajectoire)
− les bibliothèques numériques
− Transmission (codage et réseaux)
3 - Eléments de Colorimétrie
3.1 La lumière :
La lumière couvre une partie du spectre d’énergie électromagnétique. Les longueurs d’ondes
du spectre visible s’étendent approximativement entre 380 et 720 nm. Une source est
caractérisée par :
• son rayonnement
• le mélange des longueurs d’ondes de cette énergie qui donne une sensation de couleurs.
• Une couleur monochromatique est caractérisée par sa longueur d’onde et sa luminance.

Des études ont montré un certain nombre de lois dont:


• l’œil ne sait pas distinguer les couleurs composant une couleur obtenue par addition de
deux couleurs.
• L’addition de certains couples de couleurs peut produire une impression de couleur
blanche. Les deux couleurs sont alors dites complémentaires. La couleur complémentaire
n’existe que pour les radiations appartenant à l’intervalle 490 – 570 nm.

Les longueurs d'onde associées aux couleurs [6]


4 - Les systèmes de représentation des couleurs :
Kunt et al. a démontré qu’en combinant trois longueurs d’ondes particulières, il est possible
de synthétiser presque toutes les couleurs existantes. Les trois couleurs de base sont dites
« couleurs primaires ». Une couleur peut donc être représentée dans un espace à trois
dimensions. Il en existe plusieurs :

- Système RGB (Red Green Blue)


- Système CMY (Cyan Magenta Yellow)
- Système XYZ
- Système HLS (Hue Magenta Saturation)
4.1 Système additif RGB :

Notes de cours : Traitement d’images 7 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Dans le cas d’un mélange additif RGB, des couleurs primaires R (Red) G (Green) et B
(Blue) sont pondérées par leur intensité respectives a b et c et projetées sur un écran noir
avec un certain
recouvrement. C’est pour
cela que le système RGB Bleu
est dit aussi système Magenta
additif. Les couleurs RGB Cyan
sont dites couleurs Blanc
primaires de lumière. La
Commission Internationale Vert
Noir
d’Eclairage (CIE) a défini
en 1931 les longueurs Rouge
d’ondes des couleurs Jaune
primaires RGB : R= 700
nm, G=546.1 nm et B = Espace tridimensionnel des stimuli produits par les composantes
435.8 nm. Dans le système
RGB, une couleur est définie par trois coordonnées (r,g,b). L’origine correspond à la couleur
noir. Le blanc est obtenu lorsque r=g=b=valeur maximale (100). Sur la droite reliant l’origine
au sommet du cube, on trouve tous les points de l’espace vérifiant r=g=b et donc les
couleurs grises.
4.2 Le système
soustractif CMY : Jaune
Dans le système RGB, la
Vert
détermination de la couleur
s’opère par addition de
Rouge Noir
couleurs sur une surface
noire donc absorbante de
Blanc
couleurs. Ce système ne
convient pas dans le cas Magenta
de l’imprimerie où on Bleu
travaille avec des surfaces Cyan
blanches. On utilise le Espace tridimensionnel des stimuli produits par les composantes
système soustractif CMY
(Cyan Magenta Yellow) qui est complémentaire du RGB. Les couleurs cyan magenta et
jaune sont dites couleur primaire de pigment.

Il faut noter que le système CMY est l’inverse du système RGB. En effet, dans le système
RGB, à l’origine on trouve la couleur noire et au sommet opposé on trouve la couleur
blanche, alors que dans le système CMY, c’est la couleur qui constitue l’origine et au
sommet opposé on trouve la couleur noire.

4.3 Le système HLS :


Les deux variables de chrominance (x,y) peuvent se
transformer en variable possédant une interprétation plus
intuitive : la teinte (Hue en anglais) et la saturation.
(Saturation en anglais). La teinte est associée à la
longueur d’onde alors que la saturation est associée à la
saturation en couleur (ou bien le degré de blanc dans la
couleur). On peut définir un troisième paramètre qui
exprime la Luminance (la couleur est plus ou moins clair ou
sombre). On obtient ainsi le système HLS :

• La teinte (Hue) est mesurée par un angle


• La saturation est mesurée par un pourcentage (de 0

Notes de cours : Traitement d’images 8 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

à 100)
• La luminance est mesurée par un pourcentage (de 0 à 100)

Pour passer de la représentation initiale (RGB) à cette représentation, on opère de la


manière suivante:
A = U1*(a log(R) + b log(V) + c log(B))
C1 = U2 (log(R) - log(V))
C2 = U3 (log(B) - 0.5 log(R) - 0.5 log(V))
U1, U2 et U3 sont des facteurs de normalisation.
Les valeurs des coefficients (a,b,c) dépendent des auteurs. Les valeurs courantes sont :
(a,b,c) =(0.612,0.369,0.019)

Puis passage de AC1C2 à HLS en appliquant les formules suivantes :


L=A
S = (C12+C22)1/2
H = arcos(C1/S)

4.4 Les Systèmes XYZ et xyz :


La CIE a introduit en 1931 un autre espace de couleurs appelé XYZ. Les composantes du
système XYZ sont liées à celles de RGB par la relation :

⎛ X ⎞ ⎛ 2 . 769 1 . 7518 1 . 13 ⎞⎛ R ⎞
⎜⎜ Y ⎟⎟ = ⎜⎜ 1 4 . 5907 0 . 0601 ⎟⎟ ⎜⎜ G ⎟⎟
⎝ Z ⎠ ⎝ 0 0 . 0565 5 . 5943 ⎠⎝ B ⎠

En normalisant les composantes XYZ par rapport à


X+Y+Z, on obtient le système xyz défini par :
⎧ x= X
⎪⎪ X +Y + Z
Y
⎨ y = X +Y + Z
⎪ Z
⎪⎩ z = X +Y + Z

Il est ainsi possible de décrire l’ensemble des


couleurs par deux composantes normalisées x et y
comme le montre le diagramme ci-contre. Ces
variables sont dites variables de chrominance.
Diagramme chromatique (approché!)
défini par les deux variables de
chrominance x et y. [6]

4.5 La table des couleurs « Color LUT » :


Dans la pratique, les couleurs sont définies par des tables de correspondance dites « Table
de Correspondance des Couleurs » ou bien « Color Look Up Table » en anglais ou bien
« Color LUT » en abrégé . La table est composée de trois colonnes représentant chacune
une composante de couleur dans le système considéré (généralement RGB). La restitution
d’une image se fait pixel par pixel. Pour chaque pixel, récupère son code qui est un entier
appartenant à l’intervalle [0,255], on consulte la color LUT pour récupérer la définition (r,g,b)
qu’on envoie vers le système de visualisation.

Notes de cours : Traitement d’images 9 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

5 - Représentation numérique d’une image :


Une image numérique peut avoir deux types de
y
représentation : représentation raster et représentation
vectorielle.
5.1 Image raster :
Une image peut être considérée comme une fonction à deux x
dimensions : Z=f(x,
z = f(x,y) où :
(x,y) représentent les coordonnées d’un point du plan
et z représente la couleur associée à ce point.
Une image vidéo est plutôt représentée par un signal analogique fonction d’un seul
paramètre, le temps, et contenant à la fois des informations concernant la couleur des points
et des informations de synchronisation (synchro ligne et synchro trame).
Pour être traitée par l’ordinateur, une image doit être digitalisée. Cette opération nécessite
un échantillonnage du plan (X,Y) et une quantification de l’information liée à la couleur (z). Le
résultat de cette opération donne lieu à un ensemble d’éléments d’images appelés Pixels
(Comme « picture element »). Ces pixels sont rangés dans une matrice carrée ou
rectangulaire où :
- l’indice de ligne correspond à l’abscisse x,
Trame hexagonale Trame carrée
- l’indice de colonne correspond à
l’ordonnée y
- et l’élément M(i,j) contient une valeur
représentant la couleur du pixel (i,j).

L’échantillonnage spatial et donc la répartition


des pixels peut se faire soit selon une trame
carrée soit selon une trame hexagonale.
Celle-ci est plus intéressante mais elle n’est pas très fréquente car difficile à mettre en
œuvre. Elle est plus intéressante puisque les 6 voisins d’un pixel sont situés à égale distance
ce qui n’est pas le cas pour la trame carrée.

5.2 Résolution d’une image :


La résolution d’une image reflète sa qualité. Comme l’image est représentée dans un espace
à trois dimensions, on peut parler de résolution spatiale et de résolution colorimétrique :
a- Résolution spatiale :
La résolution spatiale d’une image peut être définie par la distance séparant deux pixels ou
par le nombre total de pixels, ou par le nombre de pixels par unité de mesure.
Selon le domaine d’application et la nature des images, on distingue différentes résolutions :
64x64, 128x128, 512x512, 1024x1024,….
A titre indicatif, une image 512x512 a une qualité équivalente à une image TV.
b- Résolution colorimétrique :
La résolution colorimétrique est définie par le nombre de niveaux que peut avoir un pixel. Par
ordre de qualité croissante, on peut avoir :
- image binaire (noir ou blanc) : un pixel peut avoir deux niveaux et il peut être
codé sur un seul bit
- image en noir et blanc : un pixel peut avoir 256 niveaux et il peut être codé sur
un octet
- image en couleurs naturelles : un pixel est représenté par un vecteur à trois
composantes représentant les coordonnées de sa couleur dans un espace de
couleurs. Chaque pixel est donc représenté sur trois octets (ou 24 bits).

Notes de cours : Traitement d’images 10 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Il est important de distinguer entre couleurs naturelles et fausses couleurs. En effet, une
image en noir et blanc est restituée en utilisant une table de correspondance dite « Table
des couleurs » ou « Color LUT » (« Look Up Table »). La color LUT contient pour chacun
des 256 codes de niveaux la définition de la couleur correspondante sur trois octets. On peut
donc jouer sur ces définitions pour restituer l’image en noir et blanc ou bien en fausses
couleurs.

Effet de la résolution spatiale sur la qualité de l’image. [6]

Exemples d’images visualisées en noir et blanc et en fausses couleurs.[6]

5.3 Image vectorielle :


Si l’image est constituée de lignes et de régions homogènes, il est plus intéressant de la
représenter autrement que sous la forme d’une matrice de pixels. Dans ce cas elle est dite
image vectorielle. Elle peut être considérée comme un ensemble de vecteurs. Elle demande
moins de mémoire et les transformations géométriques sont plus faciles. Cette
représentation d’image était connue sous le vocable « graphique ». Mais avec l’évolution

Notes de cours : Traitement d’images 11 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

technologique qui a conduit à la manipulation de toute forme d’image ou de graphique sous


forme raster, le mot « image » désigne aussi les représentations vectorielles.
Si le graphique contient des courbes, il peut être représenté sous la forme d’une séquence
de coordonnées (x,y) de points. On peut lui rajouter bien sûr d’autre information telle que la
couleur et le type de ligne qu’il faut tracer entre les points.
Si les lignes de l’image délimitent des régions qu’il faut remplir avec différentes couleurs, il
est nécessaire de représenter l’image sous la forme de polygone avec une information
supplémentaire indiquant s’il faut ou non remplir l’intérieur du polygone et avec quelle
couleur. Dans un cas comme dans l’autre, le pixel disparaît pour laisser la place au couple
de coordonnées (x,y).
Signalons aussi que, l’image vectorielle est transformée en image raster avant sa restitution.
En effet, le fameux traceur de courbes et l’écran vectoriel (notamment de chez Tektronix)
ont disparu pour laisser la place à l’imprimante raster et à l’écran raster. Pour ces unités,
l’image est toujours considérée comme une image raster.

6 - Les formats d’images :


Une image digitale est généralement stockée dans un fichier selon un arrangement
particulier des pixels. Cet arrangement est connu sous le vocable « format d’image ». Pour
pouvoir lire une image, il est impératif de connaître son format ou bien d’utiliser un logiciel
qui le connaît.
Il existe différents formats d’image :
- le format BMP (plate-forme WINDOWS),
- le format GIF, compression par la méthode LZW, codage sur 8 bits donc limité à 256
niveaux
- le format JPEG (transfert d’image à travers le Web), bon rapport qualité/ espace
- le format PSD, natif au logiciel Adobe Photoshop. Codage sur 8, 16, 24 ou 32 bits
- le format TIFF (Tagged-Image File Format) ,le plus universel) ,
- le format PDF : utilisé par Adobe Acrobat®, le logiciel de publication électronique
d'Adobe pour Macintosh, Windows, UNIX® et DOS.
Certains formats utilisent des méthodes de compression d’image pour réduire la taille
mémoire nécessaire. La méthode de compression peut être avec perte (comme c’est le cas
du JPEG) ou sans perte (comme c’est le cas du TIFF).
7 - Processus de traitement et d’analyse d’images :
La chaîne de traitement d’images comprend quelques étapes qu’il est intéressant de passer
en revue en vue de présenter le contenu de ce cours. La figure-1.1 présente un diagramme
montrant ces différentes étapes.

Eclairage et saisie : Un capteur d’image permet de saisir et de représenter une scène


réelle par une image qualifiée « d’image brute » ou « d’image source ». Dans cette étape, il
existe un certain nombre d’aspect dont il faut tenir compte à savoir :

Notes de cours : Traitement d’images 12 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

• l’éclairage de la scène car il influe beaucoup sur la qualité de Scène


l’image
• Le capteur, qui est généralement une caméra, peut délivrer un
Eclairage et saisie
signal analogique, dans quel cas il faudra penser prévoir une
carte de numérisation d’image dont le rôle est d’échantillonner le
signal analogique pour obtenir une image numérique. D’autres Image brute
caméras sont numériques et délivrent donc directement une image
numérique.
Traitement
Traitement : La phase de traitement qui est souvent appelée « pré-
traitement » vise à améliorer la qualité de l’image. En effet, l’image Image
brute contient généralement des dégradations. On utilise alors des
techniques de rehaussement et de restauration soit pour améliorer la
qualité visuelle soit pour essayer de retrouver l’image d’origine. Segmentation

Segmentation : Une fois l’image améliorée, on passe à une étape de Régions


segmentation pour isoler et localiser les régions d’intérêt car l’image
contient beaucoup d’information et on est intéressé par certaines
d’entre elles. Cette étape est connue sous le nom de segmentation Analyse
car les objets sont considérés comme des segments. Parmi les
techniques de segmentation nous verrons celles qui opèrent par Caractéristiques
détection de contour et celles qui opèrent par détection de régions.

Analyse : L’objectif de cette étape est d’analyser les objets retenus Diagnosti
en vue d’en extraire des caractéristiques chiffrées.
Décision
Diagnostic : Sur la base des caractéristiques obtenues on peut
énoncer des décisions.

Dans la suite du cours, nous allons présenter :


- le problème du rehaussement et quelques techniques couramment utilisées
- le problème de la restauration et les traitements basés sur le filtrage de l’image
- une introduction à la « morphologie mathématique » et ce qu’elle peut apporter
comme outils pouvant servir dans le processus de traitement et d’analyse d’image
- le problème de la segmentation et les différentes approches (par contour et par
région)
- et finalement des éléments de géométrie permettant la description des formes

Notes de cours : Traitement d’images 13 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Chapitre-2 : Transformations d’Images

1 - Introduction :
L’objectif du traitement d’images est d’extraire de l’image l’information utile. Pour cela,
l’image doit subir plusieurs transformations.

Image Trsnformation T Image


source Transformée

Image
source
Trsnformation T Image
Transformée
Image
source

Généralement, une transformation accepte une image en entrée et fournit une image en
sortie. Mais on peut aussi avoir des transformations avec plusieurs images en entrée et
plusieurs images en sortie.
De part la manière d’opérer, les transformations peuvent être calssées de la manière suivante :
- Transformations ponctuelles
- Transformations de voisinage
- Transformations spectrales
- Transformations morphologiques

2 - Transformation ponctuelles :
Ce sont des transformations telles que la nouvelle valeur du pixel dépend uniquement de
son ancienne valeur :

m'(i, j)= f(m(i, j))


ou bien
m'(i, j)= f(m1(i, j),m2(i, j))
Parmi ces transformations, on peut trouver :
• les opérations arithmétiques : addition, soustraction, multiplication, division par une
constante ou avec une autre image
• les opérations logiques avec une constante ou bien avec une autre image
• les anamorphoses : la transformation est obtenue en appliquant une fonction
mathématique à l’image telles que : un log ou une exponentielle.

Notes de cours : Traitement d’images 14 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Remarque-1 : Une transformation d’image fait appel à un calcul répétitif sur l’ensemble des
N2 pixels de l’image. Pour réduire le temps de calcul, on peut remarquer que le calcul est
différent uniquement pour les différents niveaux (256) de couleurs que peut avoir un pixel qui
est très inférieur au nombre de pixels. Le calcul de l’image transformée nécessite donc le
calcul de N2 pixels. Il vaut mieux calculer les nouvelles valeurs des pixels une seule fois et
les mettre dans une table de correspondance.
Remarque-2 : Les opérations de transformations d’image entraînent souvent un
débordement de l’intervalle de variation de la valeur d’un pixel qui est généralement limité
par le fait que chaque pixel est stocké sur un octet. Pour éviter ce débordement, on peut
penser réduire par une division par exemple l’intervalle des pixels de l’image d’origine.
3 - Transformations de voisinage :
3.1 Définition :
Une transformation de voisinage est telle que la nouvelle valeur d’un pixel tient compte des
pixels appartenant au voisinage du pixel considéré.

Exemple : La moyenne des


5 pixels voisins est une
transformation de voisinage.
i i

Le voisinage peut être plus


ou moins grand : 5 pixels
voisins, 9 pixels voisins, 25 j
j
pixels voisins. Le voisinage
peut avoir une forme régulière (carré, rectangle, hexagone, octogone), ou bien une forme
quelconque.

3.2 Produit de convolution dans le cas discret :


Le produit de convolution continu d’une fonction f par une fonction g dans le cas 2-D est
défini par :
f *g(x, y)=∫∫ f(α,β).g(x−α, y − β)dαdβ
Dans le cas discret, la fonction g est généralement définie sur un voisinage V et la double
intégrale est remplacée par une double somme et on obtient :
f *g(i, j)=∑∑ f(i −k, j −l).g(k,l)
k l

Ce n’est autre qu’une transformation de voisinage. La moyenne sur un voisinage 3x3 est un
produit de convolution par une fonction constante définie sur un voisinage 3x3.
3.3 Algorithmes parallèles et algorithmes
séquentiels :
Dans le cas d’une transformation de voisinage, Il
existe deux manières de déterminer l’image
transformée. :

Algorithmes parallèles : Si tous les pixels sont


modifiés en même temps. L’algorithme est dit
Image Image
parallèle. Dans ce cas, la nouvelle valeur d’un
pixel est obtenue en utilisant les anciennes valeurs des pixels voisins. Ceci nécessite de
travailler sur deux matrices.

Notes de cours : Traitement d’images 15 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Algorithme séquentiel : Si le travail s’effectue sur la même matrice, la nouvelle valeur d’un
pixel est utilisée pour déterminer la nouvelle valeur des pixels suivants. Tout se passe
comme si les pixels sont modifiés séquentiellement. Un tel algorithme est dit séquentiel.

Dans le cas des Nouvelle valeurs


algorithmes itératifs, un
algorithme séquentiel Voisinage
converge beaucoup plus
rapidement qu’un
algorithme parallèle. Anciennes valeurs

4 - Transformée de Fourier (transformation spectrale) :


4.1 Transformée de Fourier 1-D continue (rappel) :
Si f(x) est continue et intégrable, alors la transformée continue est définie par :
+∞
− 2jπux
F(u)= ∫ f(x)e dx
−∞

et la transformée de Fourier inverse est définie par :


+∞
2jπux
f(x)= ∫ F(u)e du
−∞

si f(x) est réelle, F(u) est généralement complexe de la forme :


F(u)= R(u)+ j.I(u)

ϕ(u)= tan −1⎛⎜


I(u) ⎞ jϕ(u)
On a : ⎟ et F(u)= F(u) e ****
⎝ R(u) ⎠
F(u) est dit Spectre de Fourier et ϕ(u) est dit angle de phase.

L’énergie de spectre est définie par : E(u)= F(u) 2=R2(u)+I2(u)

4.2 Transformée de Fourier 1-D Discrète :


Soit f(x) définie par N échantillons régulièrement espacés : f(x0), f(x0 + ∆x), f(x0 +2∆x),......
Et posons : f(x)= f(x0 + x∆x) x∈{0,1,2,.....N −1}
On démontre que :
N −1 − 2jπux / N N −1 2jπux / N
F(u)=1/ N ∑ f(x)e et f(x)=∑ F(u)e
x =0 u =0

avec :
F(u)(pour u =0,1,2,..., N −1)⇔ F(0),F(∆u),F(2∆u)......(∆u =1/ N∆x)
A

Exemple: 1-D : Considérons la fonction f(x) définie par


f(x)=A sur l’intervalle [0,X] et nulle partout ailleurs (graphe X
ci-contre):

f(x) = A si 0 < x < X


0 sinon

Notes de cours : Traitement d’images 16 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

X
F (u ) = ∫ A.e − 2 jΠux dx
0

=−
A
2 jπu
[e− 2 jπux] X

A − jπ uX
= sin( π uX ) e
πu 1/X 2/X 3/X
sin(πuX )
Î F (u ) = AX
πuX

4.3 Transformée de Fourier 2-D continue:

Si f(x, y) est continue et intégrable. Sa TF est donnée par:


F(u,v)= ∫∫ f(x, y)e(−2jπ(ux + vy))dxdy et f(x, y)= ∫∫ F(u,v)e(2jπ(ux + vy))dudv

F (u, v) : est continue et intégrable


1

F(u,v) =[R (u,v)+ I (u,v)] Q(u,v)= tan ⎡⎢


1 I(u,v) ⎤ 2
−1
2 2 et ****
⎣ R(u,v) ⎥⎦
2

4.4 Transformée de Fourier 2-D Discrète :


Soit f(x,y) définie par une matrice d’échantillons régulièrement espacés :

N: Le nombre de lignes
M: Le nombre de colonnes
∆x : Le pas d’échantillonnage selon x
∆y : Le pas d’échantillonnage selon y
et posons : f ( x, y ) = f ( x0 + x.∆x, y 0 + y.∆y )
Alors la TF-2D discrète est donnée par :
N −1M −1
F(u,v)= 1 ∑ ∑ f(x, y)exp(−2jπ(ux / M +vy / N))
MN x =0 y =0
et sa transformée inverse est donnée par :
N −1M −1
f(x, y)=∑∑ F(u,v)exp(2jπ(ux / M +vy / N))
u =0 v =0

∆u =1/ N∆x ∆v=1/ M∆y


N −1M −1
si ∆x=∆y et N =M on aura : F(u,v)= 1 ∑ ∑ f(x, y)exp(−2jπ(ux+vy)/ N)
N x =0 y =0

N −1M −1
et la TF inverse : f(x, y)=1/ N ∑∑ F(u,v)exp(2jπ(ux+vy)/ N)
u =0 v =0

Remarque : Pour des raisons de commodité, le facteur 1/N2 se trouvant normalement dans
la définition de la TF a été réparti entre la TF et la TF-1

Notes de cours : Traitement d’images 17 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Exemple 2D:
Soit une fonction f(x,y) = A si (x,y) appartient à l’intervalle (0-X,0-Y) et elle est nulle partout
ailleurs.

X
⎡ − 2 jπux ⎤ ⎡ e − 2 jπvy ⎤ Y sin(πuX )e − jπuX sin(πvY )e − jπvY
F (u, v) = A⎢
e ⎥ .⎢ ⎥ F (u , v) = AXY .
⎢ − 2 jπu ⎥ ⎣⎢ − 2 jπv ⎦⎥ πuX πvY
⎣ ⎦0 0

sin(πuX ) sin(πvY )
F (u, v) = AXY .
πuX πvY

Fonction rectangle et le module de sa Transformée de Fourier

Fonction disque et le module de sa Transformée de Fourier

Remarque : généralement, on trace :

Log(1+ F(u,v) ) car F(u,v) décroit rapidement

4.5 Propriétés de la TF 2D :

a- Séparabilité :
La transformée de Fourier 2-D est séparable. En effet :
N −1 N −1
F(u,v)= 1 ∑exp(−2jπx / N)∑ f(x, y)exp(−2jπvy)/ N)
N x =0 y =0

Notes de cours : Traitement d’images 18 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

N −1
Î F(u,v)= 1 ∑ F(x,v)exp(−2jπux)/ N)
N x =0
Î TF 2D peut être obtenue en effectuant 2 fois la TF 1-D :

TF / Ligne TF / Colonne
f(x,y) F(x,v) F(u,v)
Multipliée par N

b- Translation :
f(x, y)exp(2jπ(u0 x+v0 y)/ N)⇔ F(u −u0,v−v0)
f(x− x0, y − y0)⇔ F(u,v)exp(2jπ(ux0 +vy0)/ N)
Î Application : u0=v0 =N/2
exp(2 jπ (u 0 x + v 0 y ) / N ) = exp( jπ ( x + y )) = (−1) x + y
⇒ f(x, y)(−1) x + y ⇔ F(u − N / 2,v− N / 2)
Î En multipliant par (-1)x+y, on peut déplacer l’origine de l’espace fréquentiel au centre de
l’intervalle NxN. C’est ce qu’on fait généralement pour avoir le module de la TF centré.
La modification de l’origine de l’espace temporel, ne modifie pas le module F(u,v)

c- Périodicité et symétrie du conjugué :


La TF discrète et son inverse sont périodiques et de période N :
F(u,v)= F(u + N,v)= F(u,v+ N)= F(u + N,v+ N)
facile à démontrer ( à faire en exercice) :
Donc il suffit de calculer la TF sur une période. Si F * est le conjugué de F, on a :
F(u,v)= F *(−u,−v)
d- Rotation :
Si f subit une rotation θ, F subit la même rotation. On peut le démontrer en passant en
coordonnées polaires en posant :

x=r cosθ et y =rsinθ et u = wcosϕ et v=wsinϕ

e- Linéarité :
La transformée de Fourier vérifie la propriété de linéarité car :

TF(f1 + f 2)=TF(f1)+TF(f 2) et TF(λf)=λTF(f )


f- Valeur moyenne :
N −1M −1
f(x, y)=1/ N 2∑∑ f(x, y) =1/ NF(0,0) Î la valeur moyenne d’une image est égale à la valeur
u =0 v =0
de la TF à l’origine divisée par N.

g- Laplacien :
Le Laplacien est très utilisé en traitement d’images pour rehausser les contours ders objets.
Il existe différentes solutions pour le calculer. La TF permet aussi de le déterminer. En effet :
∂2 f ∂2 f
Le laplacien est défini par : ∆2 f(x, y)= +
∂x2 ∂y 2
Et on peut démontrer (à faire en exercice) que :

Notes de cours : Traitement d’images 19 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

TF (∆2 f ( x, y )) = −(2π ) 2 (u 2 + v 2 ) F (u , v)
h- Produit de convolution:
Le produit de convolution d’une fonction f par une fonction g est défini apr :

f(x)*g(x)= ∫ f(α)g(x−α)dα

Théorème de convolution : Selon ce théorème la TF du produit de convolution est le


produit des TF :
TF[f(x)*g(x)]= F(u).G(u)
Î une convolution dans le domaine fréquentiel réduit le nombre de multiplications dans le
domaine temporel.
i- Corrélation:


La fonction de corrélation de deux fonctions f et g est définie par : f(x)o g(x)= f(α)g(x+α)dα

TF[f(x)o g(x)]= F(u).G*(u)


Le calcul de la fonction de corrélation est parfois plus aisé en passant par une TF. La
corrélation admet des applications pour le ‘template matching’ en reconnaissance des
formes.

Exemple : La transformée de Fourier de l’image Léna

Image originale Module de la TF Module de la TF centré

4.6 Algorithme Rapide de calcul de la TF :TFR (FFT) :


Normalement le calcul de la TF entraîne le calcul d’un double intégrale. L’algorithme TFR va
exploiter les propriétés suivantes :
- séparabilité pour ramener le calcul de la TF 2-D au calcul de la TF 1-D
- une symétrie entre les termes paires et impaires pour ramener le problème au calcul
de la TF de deux échantillons.

Posons :

W Nux = exp( − 2 i π ux / N ) et WN =exp(−2iπ / N)


N −1
Î F(u)=1/ N ∑ f(x)W
u =0
N
ux

Notes de cours : Traitement d’images 20 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

2 M −1
Si on suppose que : N=2n Î N=2M Î F ( u ) = 1 / 2 M ∑
u=0
f ( x ) W 2 uxM

⎧ M −1 M −1

F ( u ) = 1 / 2 ⎨1 / M


u =0
f(2 x )W
u (2 x )
2M +1/ M ∑
u =0
f(2 x +1 )W
u (2 x + 1 )
2M +⎬

or W 2 ux
2M =W M
ux

⎧ M −1 M −1

Î F ( u ) = 1 / 2 ⎨1 / M


u =0
f(2 x )W M
ux +1/ M ∑
u =0
f(2 x +1 )W M
ux
W u
2M ⎬

Si on pose pour u =0,1,2….(M-1) :
M −1 M −1
Fpaire(u)=1/ M ∑ f(2x)WMux et Fimpaire(u)=1/ M ∑ f(2x+1)WMux
u =0 u =0

Alors F(u)=1/ 2{Fpaire(u)+ Fimpaire(u)W2uM }

or WMu + M =WMu et W2uM+ M =−W2uM (périodique)

Î F(u + M) =1/ 2{Fpaire (u) − Fimpaire(u)W2uM }

a- FFT : Implémentation :
Considérons un exemple avec N=8 : {f(0),f(1),f(2),…,f(7)}
Pour le calcul de Fpaire(u) on utilise les échantillons : f(0), f(2), f(4), f(6)
Pour le calcul de la partie paire de Fpaire(u), on utilise : f(0) et f(4).
En faisant le même raisonnement pour Fimpaire , on aboutit à l’arborescence suivante.
Si on réarrange les échantillons et on calcule la TF de 2 points successifs à chaque étape
d’une manière récursive on aboutit au résultat.

f(0) f(4) f(2) f(6) f(1) f(5) f(3) f(7)

TF de 2
points

TF de 4
points

TF de 8 points

Pour le réarrangement on remarque que :

Pour N = 8 = 2 3 , on doit réaliser les permutations suivantes :


f(1) et f(4) et en binaire : or la représentation binaire sur 3 bits de 1 (001)est exactement
symétrique de celle de 4 (100)
f(3) et f(6) et en binaire . Or la représentation binaire sur 3 bits de 3 (011)est exactement
symétrique de celle de 6 (110).
Les autres échantillons restent inchangés car leur représentation binaire sur 3 bits sont
symétriques. Pour réarranger les échantillons il suffit de considérer les représentations
binaires des numéros des échantillons.

Notes de cours : Traitement d’images 21 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

b- FFT : nombre d’opérations :


Le calcul de la TF avec la formule de base nécessite pour chaque terme:
• N multiplications complexes par exp(−2iπux / N)
• N-1 additions
En supposant que les termes exp(−2iπux / N) sont préalablement calculés et stockés dans
une table, le nombre d’opérations est donc proportionnel à N2
On peut démontrer par récurrence que le nombre d’opérations de la FFT est proportionnel à
Nlog2N.
c- La TF inverse :
En prenant le conjugué de la TF-1, on verra que le même algorithme de FFT peut être utiliser
pour calculer la TF-1

Algorithme
F* FFT 1/N f *

5 - Autres transformations du même type :Walsh, Hadamard, Cosinus :


5.1 Formulation générale 1-D :
Toutes ces transformations ainsi que la TF ont une formulation générale de la forme :
N −1
T(u)=∑ f(x).g(x,u) pour u = 0,1,……N-1
x =0

T(u) est la transformée de f(x)


g(x,u) est dit « noyau de la transformation directe »
N −1
La transformation inverse est donnée par : f(x,u)= ∑T(u).h(x,u)
u =0
pour x=0,1……..N-1

h(x,u) est dit « noyau de la transformation inverse »


La nature de la transformation est déterminée par son noyau. Pour la TF , le noyau direct
est donné par :
g(x,u)= 1 exp(−2jπux / N)
N
5.2 Formulation générale 2-D :
Dans le cas 2-D la formule générale donnant la transformée directe est :
u −1 v −1 N −1N −1
T ( u , v ) = ∑ ∑ f ( x , y ). g ( x , y ,u , v ) ⇔ f(x, y)=∑∑T(u,v).h(x, y,u,v)
x=0 y=0 u =0 v =0

Le noyau est dit séparable s’il peut se mettre sous la forme suivante :
g(x, y,u,v)= g1(x,u).g2(y,v)
Le noyau est symétrique si g1 = g 2

Pour la TF le noyau est séparable.


Si le noyau est séparable, la transformation peut être calculée en deux étapes :

Notes de cours : Traitement d’images 22 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

N −1
T(x,v)=∑ f(x, y).g2(y,v) puis T(u,v)=∑T(x,v).g1(x,u)
y =0 x =0

5.3 Transformation de Walsh :


On suppose que N=2n
n −1
g ( x ,u ) =1 / N ∏ (− 1 )
bi (x)b n −1 − i (u )
Noyau 1-D :
i=0

Où bi(x) est le ième bit de la représentation binaire de x


N −1 n −1
W ( u ) = 1 / N ∑ f ( x )∏ (− 1 )
bi (x )b n −1− i (u )

x=0 i=0
n −1
h ( x ,u ) = ∏ ( − 1 )
bi (x )b n − 1 − i (u )
Noyau inverse :
i=0
n −1 n −1
f ( x ) = ∑ W ( u )∏ (− 1 )
bi (x )b n −1 − i (u )

u=0 i=0
n −1

Π ( − 1)
[ b i ( x ) b n −1− i ( u ) + b i ( y ) b n −1− i ( v )]
Cas 2-D : g (x, y,u, v) = 1 / N
i=0

h(x, y,u,v)= g(x, y,u,v)


les noyaux sont séparables et symétriques. La Transformation de Walsh peut donc être
calculée en utilisant un algorithme 1D

Algorithme TWR (FWT) :


Il existe un algorithme TWR similaire à TFR.

5.4 Transformation de Hadamard :


Cas 1-D :
n −1

1 ∑ bi ( x ) bi ( u )
Noyau direct : g ( x, u ) = ( −1) i = 0 Où bi(x) est le ième bit de la représentation binaire
N
de x

n −1

∑ bi ( x )bi ( u )
Noyau inverse : h( x, u ) = (−1) i = 0

Cas 2-D :

n −1

( − 1)
1 ∑ [bi( bb (u )+ bi( b b ( v )]
Noyau direct : g ( x , y , u , v ) =
x ) y )
x=0

N
Noyau inverse : h( x, y, u , v) = g ( x, y, u , v)

Les noyaux sont séparables et symétriques.


N −1 N −1

(− 1 ) (− 1 )
∑ b i(x )b b ( u ) ∑ b i(y )b b ( v )
g ( x , y ,u , v ) = [ 1 / N x=0
][ 1 / N x=0
]
g(x, y,u,v)= g1(x,u)g2(y,v)

Notes de cours : Traitement d’images 23 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Î le calcul de Hadamard peut être fait en 2 étapes.

5.5 Transformation Cosinus- TC :


⎧ 1
⎪⎪ g ( x,0) =
Noyau direct : ⎨
N avec : u , x ∈ [0, N − 1]
⎪ g ( x, u ) = 2 cos( (2 x + 1)uπ )
⎪⎩ N 2N
⎧ N −1

⎪⎪ c ( 0) = 1 / N ∑ f ( x )
x =0
Noyau inverse : ⎨ N −1
⎪c(u ) = 2 / N ∑ f ( x) cos[(2 x + 1)πu ] / 2 N pour u≠0
⎪⎩ x =0

le noyau inverse est identique.


N −1
et f(x)=1/ N c(0)+ 2/ N ∑c(u)cos[(2x+1)πu]/ 2N
x =0

Cas 2-D :
⎧ g ( x, y,0,0) = 1 / N

⎩ g ( x, y, u , v) = 1 / 2 N [cos[(2 x + 1)πu ].[cos[(2 y + 1)vπ ]
3

Et la transformée Cosinus directe est donnée par :


⎧ N −1N −1

⎪⎪ c ( 0 ,0) =1/ N ∑∑
x =0 y =0
f(x, y)
⎨ N −1N −1
⎪c(u,v)=1/ 2N 3∑∑ f(x, y)cos[(2x+1)πu]cos[(2y +1)πu]
⎪⎩ x =0 y =0

La TCD inverse :
La TCD inverse est donnée par :
N −1N −1
f(x, y)=1/ Nc(0,0)+1/ 2N 3∑∑c(u,v)cos[(2x+1)πu]cos[(2y +1)πu]
u =1 v =1

A noter :
• Le noyau 2D de la TCD est séparable Î le calcul de la TCD peut se faire en appliquant
2 fois une TCD 1-D.
• La TCD peut être calculée en appliquant un algorithme FFT car :
−2juπ −2juπx ⎫
c(u)= 2/ N Re⎧⎨exp( )∑ f(x)exp(
N ⎬⎭
)
⎩ 2 N
• La TCD admet des applications en compression d’images.

Notes de cours : Traitement d’images 24 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Chapitre-3 : Rehaussement et restauration


d’images

1 - Introduction :
L’acquisition s’accompagne toujours d’une distorsion/dégradation.
Il existe différentes sources de dégradation (bruit) d’une image.
• bruit lié au contexte de l'acquisition : Bougé, mauvaises conditions d’éclairage,…
• bruit lié au capteur : Capteur de mauvaises qualités, mauvaise mise au point, etc…
• bruit lié à l'échantillonnage : Une mauvaise fréquence d’échantillonnage peut
introduire dans l’image des points blancs ou noirs connus souvent sous l’appellation
« sel et poivre ».
• bruit lié à la nature de la scène : Présence de fumée, de nuage, etc…
Il faut corriger l’image par un procédé algorithmique.
Deux grandes familles de procédés :
Rehaussement : donner à l’image un aspect visuellement correct. Le rehaussement repose
donc sur des critères subjectifs. Il est de nature empirique
Restauration : retrouver autant que possible l’image originale telle qu’elle était avant sa
dégradation ; La restauration repose donc sur des critères objectifs
~ ~
Chercher f(x, y) une estimation de f(x, y) telle qu’elle minimise une fonction d’erreur e(f, f) .
La restauration peut s’appuyer sur une fonction d’erreur précise par exemple l’erreur
quadratique moyenne :
~ ~
∑∑
2

e (f , f)= 1 ( f ( x , y ) − f ( x , y ))
MN

2 - Exemple de rehaussement :
L’œil humain est sensible au changement de contraste. C’est pour cette raison que le
rehaussement vise généralement à augmenter le contraste. Un arrondissement des couleurs
des pixels à 5 puis à 10 puis à 20 entraîne une augmentation de contraste et une
suppression de certains détails. Pour l’œil humain, un arrondi à 5 et à 10 ne sont pas
gênant. Par contre un arrondi à 20, on commence à voir la différence.

Image originale Image Arrondie à 5

Notes de cours : Traitement d’images 25 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Image arrondie à 10 Image arrondie à 20

3 - Quelques définitions :
Dans la suite, nous allons utiliser quelques notions qu’il vaudrait mieux définir dès
maintenant : histogramme, histogramme cumulé, dynamique de l’image
3.1 Histogramme :
hist:: [0, L]→ N
l→hist(l) = nombre de pixels ayant le niveau l.
Un histogramme fournit une description de l’image. Il peut être exploité pour :
- La segmentation.
- Mesurer certaines propriétés texturales.

Exemple d’histogramme d’une image


3.2 Histogramme cumulé :
L’histogramme cumulé est défini comme suit :
k =l
Hist _ Cumulé (l ) = ∑ Hist (k )
k =0

L’histogramme cumulé est donc une fonction monotone et croissante.

Notes de cours : Traitement d’images 26 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

3.3 Histogramme Horizontal/ Vertical :


L’histogramme horizontal d’une image binaire est une fonction qui donne le nombre de pixels
noirs dans une ligne k. Il est parfois utilisé pour la segmentation. De même, l’ histogramme
vertical d’une image binaire est une fonction qui donne le nombre de pixels noirs dans une
colonne k. Il est aussi utilisé pour la segmentation.
3.4 Dynamique d’une image :
La valeur d’un pixel d’une image noir et blanc appartient généralement à l’intervalle [0,255].
On dit que cet intervalle est la dynamique maximale d’une image. Généralement, les valeurs
des pixels occupe une partie de cet intervalle comprise entre une valeur minimale et une
valeur maximale. L’intervalle ainsi défini [val_min, val_ma] est appelé la dynamique de
l’image.

4 - Définition du rehaussement :
Supposons que f(x, y)∈[0, L] , le rehaussement consiste généralement à appliquer une
fonction :
T : [0, L] ⎯
⎯→[0, L]
L⎯
⎯→ T (L)
telle que : T(0)=0
T(L)=L et T croissante pour que la relation d’ordre soit maintenue.
Le problème revient donc à trouver une telle fonction T. Il existe différentes méthodes :
- étirement du contraste ou recadrage de la dynamique
- égalisation d’histogramme
- spécification d’histogramme
- rehaussement par filtrage spectrale
- utilisation de la couleur

5 - Etirement du contraste / recadrage de la dynamique :


Au vu de l’histogramme de l’image, on peut choisir une fonction qui permet de rehausser une
zone au dépend bien entendu, des autres zones. On effectue ce qu’on appelle un étirement
du contraste( contrast stretching). Si on définit sur l’intervalle [0,L] trois zones : Valeurs
faibles, valeurs moyennes, valeurs fortes, la fonction (b) va étirer les valeurs faibles et tasser
les autres valeurs. Par contre, la fonction (h) va étirer les valeurs fortes, alors que la fonction
(m) va étirer les valeurs moyennes. La fonction (e) va étirer la première et la troisième zone.

Exemples de fonctions :

Notes de cours : Traitement d’images 27 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Remarque : les valeurs de la fonction T peuvent être calculées et stockées dans une table.

6 - Egalisation (ou linéarisation) d’histogramme :


L’histogramme d’une image présente généralement des maximums (ou modes) et des
minimums. Un maximum signifie une concentration de pixels au niveau de sa valeur
maximale. La méthode de rehaussement par égalisation d’histogramme a pour objectif
d’obtenir une image rehaussée ayant un histogramme égalisé : c’est à dire uniforme
(constant) sur tout l’intervalle [0,255].
6.1 Fondement théorique :
Soit r le niveau de gris d’un pixel.
Supposons que r ∈ [0,1] après normalisation.
r=0 Î noir.
r=1Îblanc.
Soit la fonction s=T(r) telle que :
T est monotone et croissante (préserve l’ordre des niveaux de gris).
0<T(r)<=1, pour 0<=r<=1 (garantit la répartition sur tout l’intervalle).
r=T-1(s) est la fonction inverse et satisfait les mêmes conditions
Les niveaux de gris sont aléatoires. Si on suppose qu’ils représentent une variable continue,
ils peuvent être caractérisés par leur densité de probabilité : p(r) et q(s).
Si p(r) et T(r) sont connues et T-1(s) est monotone et croissante alors :
q ( s ) =[ p ( r ) dr ]
ds r= T
−1
(s)

Considérons la fonction de transformation dite Fonction de Distribution Cumulative (FDC) :


r
s =T(r)=∫ p(w)dw avec 0≤r ≤1
0

ds = p(r) en substituant ds dans (1), on obtient :


dr dr

q(s)=[p(r)
1 ] =[1 ] −1
p (r ) r=
T
−1
(s )
r= T (s )

→ q(s)=1∀s∈[0,1]
→ La fonction T a une densité de probabilité uniforme sur [0,1]. Notez que ce résultat
-1
est indépendant de T (s) difficile à obtenir.

→ l’utilisation de la FDC comme fonction de transformation de l’échelle de gris produit


une image dont les niveaux de gris ont une densité uniforme, ce qui entraîne une
augmentation de la dynamique.

6.2 Cas discret :


Dans le cas discret, on parle plutôt de probabilité qui est donnée par :
p ( rk ) = n k avec 0 ≤ rk ≤1 k = 0 , 1 ,..., L −1
n
avec L : le nombre de niveaux de gris.
nk : le nombre de fois que le niveau k apparaît.

Notes de cours : Traitement d’images 28 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

n : le nombre total de pixels.


p(rk) : la probabilité du niveau K.
Le graphe de p(rk) en fonction de rk n’est autre que l’histogramme.
La fonction de transformation T égale à la FDC est donnée par :
k k
s =T ( rk ) = ∑ p ( r j ) = ∑ n j
j=0 j=0 n

La fonction T n’est autre que l’histogramme cumulé de l’image. En transformant tous les
pixels de l’image par la fonction T, on aurait effectué ce qui est appelé :
Egalisation /linéarisation d’histogramme.
Il faut noter que dans le cas discret, l’histogramme ne sera pas parfaitement égalisé.

(a) Image originale f (b) Après égalisation de l'histogramme

(c) Histogramme original (d) Histogramme après égalisation

Image originale et son histogramme

Notes de cours : Traitement d’images 29 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Image et son histogramme après égalisation

7 - Spécification d’histogramme :

Il est parfois intéressant de pouvoir spécifier l’histogramme voulu.


Soient p(r) et q(s) les densités de probabilité de l’images originale et de l’image rehaussée.
Supposons que l’image a subi une égalisation d’histogramme en ayant été transformée par :
r
s =T(r)=∫ p(w)dw
0

Si l’image rehaussée est connue, on peut aussi lui faire subir une égalisation d’histogramme.
r
v=G(r)= ∫ q(w)dw
0

M0 : image originale T M1 : hist. égalisé

T :M 0 → M1 G-1 identique
' M1’ : hist égalisé
G:M 2 → M1 M2 : image rehaussée
G
M1 et M’1 ont la même densité de probabilité égale à 1. On peut donc supposer que M1 et
M1’ sont identiques (ce qui n’est pas vrai). On peut donc obtenir l’image recherchée M2 en
appliquant G-1 à M1.
Î G −1 : M 1 ⎯
⎯→ M 2
Î L’algorithme :
− Egalisation : M 0 → M1
− Spécifier l’histogramme voulu et déterminer G-1.
− Appliquer G-1 à M1, on obtient M2.

Dans la cas discret avec un nombre de points réduit la détermination de G-1 ne pose pas de
problèmes.
Remarque : l’image obtenue n’aura pas nécessairement l’histogramme spécifié.

Comment spécifier un histogramme ?


- Choisir une densité de probabilité connue,
- Spécifier interactivement une courbe.

Notes de cours : Traitement d’images 30 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

8 - Rehaussement par Accentuation des détails (Sharpening):


Pour mieux appréhender l’image, il est parfois intéressant de mettre en relief les détails. Or
ceux-ci correspondent au variation brusque des
niveaux de gris des pixels. Ils peuvent donc être
obtenus par dérivation ou par différenciation (dans le
cas discret).
On peut effectuer ce genre de rehaussement dans le
domaine spatial ou bien en passant au domaine
fréquentiel. « Sharpening »
8.1 Différentiation (domaine spatial) : Gradient
La méthode du gradient est la plus utilisée :

Le vecteur G(f(x, y))=⎛⎜


∂f / ∂x ⎞ donne la direction du taux maximum de croissance de la

⎝ ∂f / ∂y ⎠
fonction f(x,y)
1/ 2
Sa valeur absolue G(f(x, y)) =⎛⎜ (∂f /∂x)2+(∂f /∂y)2 ⎞⎟ est égale au taux maximum de croissance
⎝ ⎠
dans la direction de G ( pente maximale).
Dans la suite, on parlera du gradient pour désigner sa valeur absolue.
Dans le cas discret : les dérivées sont approximées par des différences :
2 1/ 2
G (f (x , y )) = ⎛⎜ ( f ( x , y )− f (x +1 , y )) + (f (x , y )− f (x , y +1 )) ⎞⎟
2

⎝ ⎠
En choisissant T convenablement, on peut mettre en évidence les contours sans perdre les
caractéristiques du fond.
On peut obtenir des résultats analogues en prenant la valeur obsolue ce qui coûte moins
cher en temps de calcul.

G(f(x, y))≈ f(x, y)− f(x+1, y) + f(x, y)− f(x, y +1)

Une autre approximation connue par le gradient de ROBERTS est donnée par la
formule suivante :

G(f(x, y))≈ f(x, y)− f(x+1, y +1) + f(x+1, y)− f(x, y +1)
A noter :
- le gradient est proportionnel à la différence en niveaux de gris des pixels voisins
- le gradient permet de rehausser les transitions brusques.

8.2 Génération de l’image gradient :


Une fois la méthode d’approximation du gradient choisie, l’image gradient peut être générée
de différentes manières selon l’application.

• Méthode-1 : g(x, y)=G(f(x, y)) : Les régions lisses apparaîtront en noir alors que les
points à fort gradient apparaîtront en clair plus ou moins foncé.

• Méthode-2 : g(x, y)=G(f(x, y)) si G(f(x,y)) >= T (T étant un seuil)

g(x, y)= f(x, y) Sinon

Notes de cours : Traitement d’images 31 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

• Méthode-3 : g(x, y)= Lg si G(f(x,y)) >= T (T étant un seuil)

g(x, y)= f(x, y) Sinon


Cette méthode permet d’avoir un contour constant.

• Méthode-4 : g(x, y)=G(f(x, y)) si G(f(x,y)) >= T (T étant un seuil)

g(x, y)= Lb Sinon


Cette méthode permet d’avoir seulement le gradient et lorsqu’il est supérieur à un seuil
donné.

• Méthode-5 : g(x, y)= Lg si G(f(x,y)) >= T (T étant un seuil)

g(x, y)= Lb Sinon


Si on s’intéresse uniquement à la position des contours.

8.3 Le Laplacien :

Le Laplacien est défini par :


∂2 f ∂2 f
∇ f = ∂x 2 + ∂y 2
2

Dans le cas discret, le Laplacien peut être approximé par :


∇ f(i, j)=∆2x f(i, j)+∆2y f(i, j)
2

Avec :
∆2x f(i, j)=[f(i +1, j)− f(i, j)]−[f(i, j)− f(i −1, j)}
= f(i +1, j)+ f(i −1, j)−2f(i, j)
et :
∆2y f(i, j)= f(i, j +1)+ f(i, j −1)−2f(i, j)
∇ f(i, j)= f(i +1, j)+ f(i −1, j)+ f(i, j +1)+ f(i, j −1)−4f(i, j)
2

∇ f(i, j)=−5[f(i, j)−moy(5point s)]


2

Î Le Laplacien d’une image peut alors obtenu en faisant la différence entre l’image et sa
moyenne considérée sur un voisinage de 5 points.

On peut trouver d’autres méthodes pour calculer le Laplacien.


Remarque : f −∇ f permet de mettre en évidence les transitions. En effet :
2

f(i, j)−∇ f(i, j)=5f(i, j)−[f(i +1, j)+ f(i −1, j)+ f(i, j +1)+ f(i, j −1)]
2

Lorsqu’on est dans une région plate (⎯) ou au milieu d’une pente ( ⁄ ).
f(i, j)−∇ f(i, j)= f(i, j)
2

si on est en bas d’une pente tous, tous les voisins ont une valeur >= à f(i,j)
⇒ f −∇ f < f
2

si par contre on est au sommet ‘une pente, on aura f −∇ f > f


2

D’une manière générale :

Notes de cours : Traitement d’images 32 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Signal – K * Dérivée seconde permet de reahusser les détails

Signal

Dérivée première

Dérivée seconde

Signal-K*Dérivée
d

9 - Rehaussement par filtrage spectral :


Rappelons que l’objectif du rehaussement est d’améliorer la qualité de l’image dans le but de
mieux percevoir visuellement l’information recherchée. Celle-ci peut concerner les transitions
entre les différentes régions de l’image. Or ces transitions se traduisent dans le domaine
fréquentiel par des fréquences hautes. On peut donc envisager de passer au domaine
fréquentiel, d’appliquer une fonction favorisant les hautes fréquences et revenir au domaine
spatial pour retrouver une image rehaussée.
Soit g(x,y) une image obtenue par convolution
g(x, y)=h(x, y)* f(x, y)

dans le domaine fréquentiel on a :

Notes de cours : Traitement d’images 33 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

G(u,v)= H(u,v).F(u,v)

H(u,v) est appelée fonction de transfert du processus.


h(x,y) est appelée Réponse impulsionnelle.

Pour rehausser certains détails dans f(x,y), il suffit de choisir H(u,v) d’une manière
convenable. On peut choisir une fonction H pour rahausser les basses fréquences (filtre
passe bas), ou bien les hautes fréquences (filtre passe haut) ou bien une bande de
fréquence (filtre passe bande).
9.1 Filtre passe-haut :
Si on veut accentuer les contours présents dans f(x,y), il suffit de choisir H(u,v) qui renforce
la composante haute fréquence de F(u,v).
Il existe différents filtres passe-haut qui diffèrent seulement par le choix de la fonction de
transfert du filtre.

Nous allons passer en revue quelques uns de ces filtres. Leur fonction de transfert est à
symétrie radiale.

Filtre idéal ( IHPF) :


H(u,v)= 0 si D(u,v)<=D0
1 sinon

Filtre de Butterworth ( BMBF) :

H(u,v)= 1
1+[D0 ]2n
D(u,v)
H(u,v)=1/ 2 pour D(u,v)= D0

Filtre exponentiel ( EMPF)


H(u,v)=exp(−[D0 ]n)
D(u,v)
H(u,v)=1/ 2 pour D(u,v)= D0

Filtre trapézoïdal ( TMPF)

H(u,v) = 0 si D(u,v)<D0
H(u,v)=
1 (D(u,v)− D1) si D1≤ D(u,v)≤D0
D0 − D1
1 sinon

Notes de cours : Traitement d’images 34 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Discussion :
• Un filtre passe haut coupe les basses fréquences Î les petit détails vont disparaître de
l’image résultas. Pour remédier à cela, on peut ajouter une constante à la fonction de
transfert.
H(u,v)+1 par exemple.

• L’image obtenue est généralement obscure. On peut lui appliquer une égalisation
d’histogramme.

HPF : Egalisation
H(u,v)+1 d’histogramme

Exemple : Filtre passe-haut circulaire de fréquence de coupure fc = 50 pixels.

9.2 Filtre passe-bas :


Filtre idéal passe bas( ILPF) :
H(u,v)= 1 si D(u,v)<=D0
0 sinon

Filtre de Butterworth ( BLBF) :

H(u,v)= 1
1+(D(u,v)/ D0)2n
n est un paramètre et est dit l’ordre du filtre
D0 est la fréquence de coupure qui est aussi un
paramètre du filtre.
Filtre exponentiel ( ELPF)
H(u,v)=exp(−(D(u,v)/ D0)n)

n est l’ordre du filtre et contrôle la décroissance


de la fonction exponentielle.

Notes de cours : Traitement d’images 35 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Filtre trapézoïdal ( TLPF)

H(u,v) = 1 si D(u,v)<D0
H(u,v)=
1 (D(u,v)− D1) si D1≤ D(u,v)≤D0
D0 − D1
0 sinon

Exemple : Filtre passe-bas circulaire de fréquence de coupure fc = 30 pixels

.
Exemple : Filtre passe-bande circulaire conservant les fréquences [30, 50] pixels.

10 - Rehaussement par filtrage homomorphique :

Une image f(x,y) est caractérisée par deux composantes :


− L’illumination i(x,y) : Quantité de lumière incidente.

Notes de cours : Traitement d’images 36 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

− La réflectance r(x,y) : Quantité de lumière réfléchie par les objets.


L’image f(x,y) peut être modélisée par :
f(x, y)=i(x, y)*r(x, y)
où 0<i(x, y)<∞
0<r(x, y)<1
i(x,y) est déterminée par les sources de lumière.
r(x,y) est déterminée par les caractéristiques des objets de la scène.
Le modèle peut être utilisé pour réaliser simultanément une compression de la dynamique
de la luminosité et une augmentation du contraste.
Pour réaliser un traitement séparé des deux composantes, il faut passer au log :
z(x, y)=log(f(x, y))=log(i(x, y)*r(x, y))
en prenant la TF :
Z(u,v)=TF{log(f(x, y))=log(i(x, y)*r(x, y))}
Z(u,v)= I(u,v)+ R(u,v)
On peut filtrer cette quantité en la multipliant par une fonction de transfert H
S(u,v)= H(u,v).Z(u,v)
= H(u,v).I(u,v)+ H(u,v).R(u,v)
-1
si on prend la TF on obtient :
−1 −1 −1
TF (S(u,v))=TF (H(u,v).I(u,v))+TF (H(u,v).R(u,v))

−1 F(x,y)) G(x,y)
et en posant : i'(x, y)=TF (H(u,v).I(u,v))
−1
r'(x, y)=TF (H(u,v).R(u,v))
on obtient : Log exp
s(x, y)=i'(x, y)+r'(x, y)
s(x,y) est la fonction filtrée de z(x,y)
FFT FFT-1
or : z(x,y)=log(f(x,y)) donc la fonction filtrée de
f(x,y) est :

g(x,y) =exp(s(x,y))
H(u,v)
=exp(i’(x,y)).exp(r’(x,y))
=i’’(x,y).r’’(x,y)
Schéma de filtrage homomorphique
où : i ‘’ représente l’illumination et r’’ représente la
réflectance
Choix de H(u,v) :
L’illumination présente de faibles variations alors que la réflectance présente des variations
abruptes.
Î la luminance est associée aux fréquences basses; la réflectance est associée aux hautes
fréquences.
Î il faut que H(u,v) effectue différemment les hautes et les basses fréquences.
Rehaussement par accentuation des détails (sharpening):

Notes de cours : Traitement d’images 37 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Image Lena originale Image Lena rehaussée


Exemple de Filtrage homomorphique

11 - Rehaussement par la couleur :


L’utilisation de la pseudo couleur pour la visualisation permet de mieux appréhender les
détails. En effet, La visualisation d’une image en couleur permet de montrer des détails
difficiles à distinguer en noir et blanc. Ceci permet donc de rehausser l’image.
11.1 Découpage en tranches ( Density Slicing) :
L’image z=f(x,y) est découpée par des plans parallèles à (x,y). A chaque plan est associé
une couleur et tous les pixels compris entre deux plans prennent la couleur du plan inférieur..
11.2 Approche par filtrage :
L’idée est d’obtenir à partir d’une image f(x,y) 3 images : f1,f2,f3 en utilisant l’information
fréquentielle. Ces images appartiennent à 3 intervalles de fréquences différentes.

Une approche typique consiste à utiliser 3 filtres différents : passe-bas, passe-bande et


passe-haut.

Filtre 1 TF-1 Traitement complémentaire

T.F Filtre 2 TF-1 Traitement complémentaire Ecran


f(x,y)

Filtre 3 3 TF-1 Traitement complémentaire

12 - Restauration d’images
La restauration d'images a pour objet la réduction, voire l'élimination des distorsions
introduites par le système ayant servi à acquérir l'image. Contrairement au rehaussement qui
vise à améliorer la qualité visuelle donc subjective de l’image, la restauration vise à retrouver
autant que possible l’image originale telle qu’elle était avant sa dégradation ; La restauration
repose donc sur des critères objectifs.
On peut diviser les techniques de restauration en 5 classes selon la manière dont elles
opèrent :
• par connaissances à priori
• par connaissances à postériori
• par filtrage

Notes de cours : Traitement d’images 38 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

12.1 Connaissances a priori :


Dans certains cas, la connaissance du phénomène physique, source de dégradation, permet
de déterminer un modèle représentant le processus de dégradation. Et il suffit d’inverser ce
modèle pour retrouver l’image initiale. Ce qui n’(est toujours pas facile à faire. Exemple : la
connaissance des équations de mouvement ou de positions, existant entre l'objet et le film
durant l'exposition
12.2 Connaissances a posteriori :
Très souvent, le phénomène dégradant est inconnu, ou bien trop complexe pour qu'une
approche analytique soit envisageable. Il est donc nécessaire d'estimer ce phénomène à
partir de la connaissance de l'image dégradée g.
Par exemple, la recherche de points ou formes particuliers connus et devant exister dans la
scène permet une estimation locale de certaines caractéristiques du phénomène dégradant.
12.3 Filtrage :
Les techniques de filtrage essayent de réduire les dégradations qu’a subi l’image. Il existe
différentes catégories de filtres. On peut citer :
- des filtres qui opèrent dans le domaine spatial
- des filtres qui opèrent dans le domaine fréquentiel
12.4 Filtrage dans le domaine spatial :
Un filtre moyenneur fournit parfois des résultats satisfaisants dans le cas d’un bruit connu
sous le nom « poivre et sel ». Ce filtre consiste simplement à remplacer chaque pixel par la
moyenne pondérée ou non de ses pixels voisins.
Les filtres d’ordre qui sont des filtres non linéaires fournissent aussi de bons résultats. Leur
principe consiste à :
- considérer les valeurs des pixels appartenant à un voisinage V
- ordonner ces valeurs par ordre croissant
- sélectionner la valeur minimale (respectivement maximale et médiane) pour avoir un
filtre dit filtre minimum (respectivement maximum et médian)
Les filtres morphologiques (ouverture et fermeture) ou plus généralement les Filtres
Alternés Séquentiels (FAS) donnent aussi de bons résultats.

12.5 Filtrage dans le domaine spectral :


Dans l'ensemble des dégradations possibles d'une image, il existe une classe intéressante :
les transformations linéaires. Dans ce cas, on suppose les dégradations invariantes
spatialement ce qui permet d'écrire le modèle suivant :
g ( x, y ) = [h ⊗ f ]( x, y ) + n( x, y )
où n(x,y) est un bruit additif
En l’absence d’un bruit aditif n, et en appliquant le théorème de convolution on obtient :
G (u, v) = F (u, v).H (u, v)
Où G, F et H sont respectivement les TF de g , f et h.
Si l'inversion de H est possible, on peut alors écrire :
F (u, v) = H −1 (u, v).G (u , v)

Le retour au domaine spatial se fait en appliquant la transformée de Fourier inverse.

En présence du bruit n, il est également possible d'utiliser la transformée de Fourier grâce


à sa propriété de linéarité.

Notes de cours : Traitement d’images 39 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

G (u, v) = F (u, v).H (u, v) + N (u, v)


où N désigne la transformée de Fourier du bruit n. On obtient donc:
F (u, v) = G (u , v) / H (u, v) + N (u, v) / H (u, v)
Cette expression est plus complexe mais peut être utilisée si l'on fait des hypothèses
restrictives sur la nature du bruit (le plus souvent blanc gaussien).

Notes de cours : Traitement d’images 40 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Chapitre-4 : Introduction à la Morphologie


Mathématique

1 - Introduction :
L’idée de base de la morphologie mathématique est de comparer les objets à analyser à un
autre objet de forme connue appelée « élément structurant ». Chaque élément structurant
fait apparaître l’objet sous un jour nouveau. Tout l’art consiste à choisir le/les bons
éclairages. Fondamentalement, la morphologie mathématique a un caractère ensembliste.
La morphologie mathématique (m.m) offre des outils de traitement (filtrage morphologique)
et d’analyse sur des images binaires et en niveaux de gris.
C’est en 1901 que K.Minkowski introduit les premiers concepts de la théorie.
K.Minkowski, A.Haas, G.Matheron et J.Serra développèrent par la suite la morphologie
mathématique.
La morphologie mathématique est l’une des 4 théories qui sont utilisées en traitement
d’images : Ces théories sont :
• Le traitement du signal.
• Les méthodes statistiques.
• Les méthodes syntaxiques.
• La morphologie mathématique.
La m.m est basée sur la théorie des ensembles.
2 - Rappels sur les ensembles :
Dans ce qui suit les lettres majuscules désignent des ensembles et les lettres minuscules
désignent des éléments appartenant aux ensembles. Sur les ensembles on définit les
opérations suivantes :
L’égalité : X =Y ⇔{x∈X ⇒ x∈Y et x∈Y ⇒ x∈X } L’égalité est réflexive, symétrique et
transitive.
L’inclusion : X ⊆Y ⇔{x∈X ⇒ x∈Y } Réflexive, antisymétrique et transitive.
L’intersection : X ∩Y ⇔{x / x∈X et x∈Y } Commutative, associative, idempotente.
L’union : X ∪Y ⇔{x / x∈X ou x∈Y } Commutative, associative, idempotente.
La différence : X −Y ⇔{x / x∈X et x∉Y }
La différence symétrique : X∆Y ⇔ X ∪Y − X ∩Y Commutative et associative.
X ⇔{x / x∈E et x∉X }
c
Le complémentaire : E étant un ensemble servant de
référentiel.
( X ∩Y )c = X c
∪Y
c
Formule de Morgan.
Le symétrique : soit E un référentiel sur le quel on a défini l’addition et la soustraction.
Le symétrique X ⇔{− x / x∈E} .
Le translaté : X b ⇔{z∈E / z = x+b, x∈X } . Addition et soustraction de Minkowski :
X et B deux ensembles quelconques de E.
L’addition de Minkowski : Soient X et B deux ensembles quelconques on définit alors
l’addition de Minkowski X ⊕ B ⇔{z∈E / z = x+b, x∈X,b∈B}

Notes de cours : Traitement d’images 41 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

l’addition est commutative Î X ⊕ B ⇔ U B =U Xx b =B⊕ X


x∈ X b∈ B

La soustraction de Minkowski : d’une manière analogue, on définit la soustraction :


X θ B = I X b
b∈ B

3 - Conditions que doivent vérifier les transformations morphologiques :


Toute transformation morphologique doit vérifier les conditions suivantes :
3.1 Invariance par rapport à la translation :
Translater puis transformer ⇔ transformer puis translater.
3.2 Compatibilité avec l’homothétie :
ψ ( λ X ) = λψ (X )
Ψ est une transformation continue uniforme si : X →Y ⇒Ψ(x)→Ψ(Y)
3.3 Connaissance locale :
Toute transformation T morphologique doit vérifier la propriété de « connaissance locale »
qui dit : si on ne connaît X qu’à travers un masque Z, on peut toujours trouver un masque Z’
tel que :
T(X ∩Z)∩Z'=T(X)IZ'
Intuitivement c’est une propriété qui assure
que l’on peut faire des mesures sur X même
si le champ de mesure ne montre pas la
totalité de X.

4 - Transformations morphologiques
élémentaires :
4.1 Erosion :
Soient X de R2 ( pour faciliter la
compréhension) et B⊂ R2, B est repéré par
son centre z. on déplace Bz de telle sorte que
son centre occupe tous les points de R2 et on
pose la question : Bz ⊆ X ?
Tous les points z ayant une réponse positive
forment un nouvel ensemble dit érodé de X
par B
a- Définition 1 :
X θ B = {z ∈ E / B z ⊆ X } Erosion par un

b- Définition 2 :
XθB = I X −b
b∈ B

c- Effets de l’érosion :
• Rétrécissement des objets
de taille > taille de B.
• Disparition des petites composantes.

Notes de cours : Traitement d’images 42 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

• Séparation des objets aux étranglements.

4.2 Dilatation :
On considère X et Bz, on fait déplacer Bz dans tout l’espace E et on se pose la question : Bz
touche t-il X ?
L’ensemble des points z ayant une réponse positive
forme l’ensemble dilaté de X
X ⊕ B ⇔{z∈E / Bz ∩ X ≠Φ}
et en terme ensembliste :
X ⊕ B= U X b = UBx ={x+b / x∈X,b∈B}
b∈B x∈ X

Xb étant le translaté de X par b.

a- Effets de la dilation :
• Boucher les trous.
• Réunit les composants très proches.
• Ne préserve pas la connexité.
4.3 Dualité de l’érosion et de la dilatation :
L’érosion et la dilation sont
duales par rapport à la Dilatation par un
complémentation.
XΘB =(X c ⊕ B )
c
et

(
XΘB= X c + B )
c

B est le symétrique de B
par rapport à son centre.
Si B a une symétrie radiale
alors :
XΘB=(X c + B )
c

4.4 Propriétés des opérations d’érosion et de la dilatation :


L’érosion et la dilatation vérifient les principes de base des transformations morphologiques
à savoir : la continuité uniforme, l’invariance par rapport à la translation, la compatibilité avec
l’homothétie et la connaissance locale.
La connaissance locale est vérifiée. En effet on peut considérer Z’= ZΘB
On démontre que :
((X ∩Z)⊕ B)∩(ZΘB)=(X ⊕ B)∩(XΘB)
((X ∩Z)ΘB)∩(ZΘB)=(XΘB)∩(XΘB)
On n’est sûr du résultat de l’érosion de X que dans le masque de mesure: Z’= ZΘB .
a- Théorème du masque de mesure :
Pour toute transformation morphologique faisant intervenir un élément structurant B réalisée
sur l’ensemble connu dans un masque Z, le résultat de la transformation n’est connu sans
biais que dans le masque Z’= ZΘB

En plus de ces propriétés de base, l’EROSION et la DILATATION vérifient les propriétés


suivantes :

Notes de cours : Traitement d’images 43 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

b- La croissance :
X ⊆Y ⇒ {XX ⊕Θ BB ⊆⊆ YY Θ⊕ BB
c- L’extensivité :
Si l’élément structurant B contient son Original
origine
La dilatation est extensive : X ⊆ X ⊕ B
L’érosion est anti-extensive : XΘB⊆ X
Non idempotentence :
L’érosion et la dilatation ne sont pas
idempotentes.
Connexité non préservée (sauf si X
est convexe). X B X B

5 - Ouverture morphologique :
Une érosion suivie d’une dilatation par
le même élément structurant B est dite
ouverture :
X B = (X Θ B )⊕ B Fermé
Ouvert
En général l’ensemble ouvert est plus
régulier et moins riche en détail. L’ouverture adoucit les contours. Elle joue le rôle de filtre
non linéaire. Elle laisse tomber tous les détails qui ne peuvent pas être atteints par l’élément
structurant. En modifiant la taille de l’élément structurant, on peut supprimer plus / moins de
détails.

5.1 Propriétés :
Croissante : si X ⊆ Y ⇒ X B ⊆ YB
Anti- extensive : XB⊆X
Idempotente : (X B) B = X B
Propriété : X B ={Bz / z∈E et Bz ⊆ X }
Ce qui signifie que l’ouvert est l’ensemble des éléments structurants entièrement inclus dans
X.
6 - Fermeture morphologique :
La fermeture est une transformation duale de l’ouverture.
X B = (X ⊕ B )Θ B
C’est bien une transformation duale de l’ouverture car :
(X B )c = (X c ) B et ( X B )c = (X c) B
La fermeture est aussi un filtre similaire à l’ouverture mais sur le complémentaire.
6.1 Propriétés :
Croissante : si X ⊆ Y ⇒ X B ⊆ Y B

Extensive : X ⊆X B
Idempotente : (X B) B = X B

Notes de cours : Traitement d’images 44 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Propriété : X B =U{Bz / z∈EetBz ⊆ X c }


La fermeture bouche les canaux étroits, supprime les petits lacs et les golfes étroits.
7 - Filtres morphologiques :
On peut combiner l’ouverture et la fermeture en utilisant plusieurs éléments structurants, on
obtient à chaque fois un filtre morphologique.
8 - Autres propriétés :
• La dilatation est commutative et associative
X ⊕ B = B⊕ X
(X ⊕ B1)⊕ B2 = X ⊕(B1⊕ B2)
• La dilatation distribue l’union.
(X ∪Y)⊕ B)=(X ⊕ B)∪(Y ⊕ B)
Et par commutativité on a :
X ⊕(B1∪B2)=(X ⊕ B1)∪(X ⊕ B2)
Cette propriété est importante car elle permet la décomposition d’un élément structurant ou
une union de deux éléments structurants.
• L’érosion distribue l’intersection
(X ∩Y)ΘB)=(XΘB)∩(YΘB)
XΘ(B1⊕ B2)=(XΘB1)ΘB2
Exemple d’application : carré=segment vertical ⊕ segment horizontal
XΘcarre=(XΘsegh)Θsegv
• X ⊕ B = (X ⊕ B ) B = (X B )⊕ B

9 - Transformation de voisinage :
9.1 Configuration de voisinage :
Le voisinage d’un point est formé de 7 points (en trame hexagonale) et de 9 points (en trame
carrée).
Si on attribue des valeurs (0/1) à ces points on forme ce qu’on
1 1 1 1 1
appelle une configuration de voisinage.
9 0 0 1 0 1 0
En trame carrée, existent 2 configurations possibles.
1 1 1 1 1

9.2 Familles de voisinage :


Les configurations de voisinages sont généralement regroupées en famille. A titre
d’exemple, il suffit de prendre une configuration et ses symétriques à une rotation prés.
9.3 Transformation de voisinage :
Soit X une image binaire et V une configuration de voisinage.
On définit la transformation de voisinage par

X ⊗V(x)=⎧⎨1 si Vx(X) ∈ V
⎩ 0 sin on
9.4 Amincissement et épaississement :
L’amincissement d’un ensemble X consiste à lui enlever des points alors que
l’épaississement consiste à lui ajouter les points.
Si V est une famille de voisinage et X ⊗V(X) est une transformation de voisinage.

Notes de cours : Traitement d’images 45 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

L’amincissement : X o U = X − ( X ⊗ U )
L’épaississement : X •U = X ∪ ( X ⊗ U )
Exemple :
L’érosion est un amincissement alors que la dilatation est un épaississement.
Propriétés :
• L’amincissement et l’épaississement sont duales.
(X oV)c = X c •V c
• On a aussi : X oV ⊆ X ⊆ X •V
Exemple de configuration de voisinage (trame hexagonale)
Les configurations suivantes fournies en trame hexagonale est un ensemble de ce qui est
appelé l’alphabet de Golay.
configuration Amincissement Epaississement
Squelette Squelette par zone d’influence
1 1
* 1 *
0 0

Ebarbulage Squelette par zone d’influence


* *
0 1 0
0 0

contour
1 1
1 1
1
1 1

Erosion dilatation
* *
* 1
0
* *

10 - Transformations géodésiques :
La géodésie est par définition la science qui a pour but la mesure de la terre et l’étude de ses
formes.
10.1 Distance géodésique
La notion de distance entre points, entre ensembles, ou entre point et ensemble est très
importante en traitement d’images. On distingue deux catégories de distances, la distance
euclidienne et la distance géodésique. L’utilisation de la distance géodésique au lieu de la
distance euclidienne dans les transformations morphologiques qui font recours à la notion de
distance permet d’obtenir de nouvelles transformations très importantes pour la
segmentation d’images.
Considérons l’ensemble X et deux points x et y appartenant à cet ensemble. Une ligne ou un
arc d’extrémité x et y seront appelés ligne ou arc géodésiques s’ils vérifient les deux
conditions suivantes :
● être totalement inclus dans l’ensemble X,
● Correspondre au plus petit parcours entre x et y.

Notes de cours : Traitement d’images 46 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

On appelle distance géodésique, notée dX(x,y), la mesure de la longueur parcourue entre


ces deux points par la ligne géodésique (figure 2.1). Par convention, la distance entre deux
points appartenant respectivement à deux composantes disjointes de l’ensemble X est
infinie.

La notion de distance géodésique permet d’introduire celle de boule géodésique. On


appellera boule géodésique de rayon λ et de centre x appartenant à X l’ensemble défini
par :
BX(x, λ) = {y ∈ X, dX(x,y) < λ}

10.2 Dilatation géodésique/ conditionnelle :


Soient X et Y deux ensembles. La dilatation géodésique (ou conditionnelle) est définie
comme étant le dilaté de X inclus dans Y.
∀X ⊆Y D Y( 1 ) ( X ) = ( X ⊕ B ) ∩ Y
Y est aussi dit masque géodésique.
La dilatation géodésique de taille n est une succession DY(
de dilatation de taille 1 : X)
DY(n)(X)= DY' (DY' (DY' (......(DY' (X))....)) n fois.

X
10.3 Erosion géodésique :
De la même manière on définit l’érosion
géodésique :
Y
∀ X ⊇ Y , E Y( 1 ) ( X ) = ( X Θ B ) ∪ Y
EY(X
et EY(n)(X)= EY(1)(EY(1).....(X)...)
Autrement dit, il ne faut pas enlever les points appartenant à Y
10.4 L’érodé ultime :
L’érodé ultime est l’ensemble des points qui
disparaissent les derniers lors d’un processus
d’érosion.
Il peut être défini aussi par les maximas régionaux de
la fonction distance.
10.5 Fonction distance :
La fonction distance d’un ensemble x est une image à
niveaux de gris où à chaque point de x est attribuée
une valeur égale à sa distance minimale du bord de X.
La fonction distance est très intéressante puisqu’elle
peut donner rapidement l’érodé de taille donnée.

Notes de cours : Traitement d’images 47 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

10.6 Reconstitution morphologique :


Soit X ⊆Y , la reconstitution de X conditionnellement à Y est la dilatation géodésique de X
jusqu‘à l’idempotence.

11 - Squelette :
11.1 Définition :
Le squelette admet beaucoup d’applications en analyse d’images. Il admet 3 définitions :
Définition 1 : La squelette est l’ensemble des points qui ne brûlent pas lors d’un feu de
prairie.
En effet, si on dispose d’une prairie avec une herbe sèche
et si on suppose qu’il n’existe pas de vent. Si on met le feu
en tout point du bord de la prairie au même instant, l’herbe
va brûler et les fronts de feu vont se rapprocher. La
différence de température engendre une différence de
pression donc création de vent au niveau de chaque front
de feu. Ce vent va essayer d’éteindre le feu du front de
face. Quand le feu sera éteint, il reste un mince filament
d’herbe qui n’aura pas été brûlé. C’est le squelette de la
prairie.
Définition 2 : La squelette est l’ensemble des centres des
boules maximales continues dans X.

Définition 3 : Sq(X)=⎧⎨s / ∃y1 , y2∈∂x, y1 ≠ y2 et d(s, y1)=d(s, y2 ⎫⎬


⎩ ⎭
∂X étant la frontière de X.

11.2 Exemples de squelette :

11.3 Théorème de Lantuejoul (1978) :


Le squelette est l’union suivant tous les λ >0 de
l’intersection suivant tous les µ > 0 de la
différence entre l’érodé de X par λB et ouvert par
µB.
S q ( X ) = U ( I {( X Θ λ B ) − ( X Θ λ B ) µ B }
λ >0 µ >0

Notes de cours : Traitement d’images 48 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

11.4 Propriétés algébriques du X


squelette : (XΘλB)
• Le squelette ne vérifie pas les
propriétés de continuité, en effet : Si
le nombre des sommets d’un polygone
(XΘλB)−(XΘλ
régulier →∞,Sq(X)→ X le polygone tend
vers un disque et le squelette d’un disque est égal à son centre.

• Idempotente : Sq(Sq(X))=Sq(X)
• Anti-extensive : Sq(X)⊂ X
• Ni croissante ni décroissante : X ⊂Y n'entraine pas (Sq(X))= Sq(Y)
11.5 Propriétés topologiques du
squelette :
• connexité : la squeletisation ne
préserve pas la connexité.
• Homotopie (nombre de
conexité) : ce nombre n’est pas
toujours vérifié.

11.6 Exemple de segmentation par le squelette

11.7 Squelette par zone d’influence :


Supposons que X est composé de particules Xi (composantes connexes).
A chaque particule correspond une zone d’influence qui est composée de l’ensemble des
points plus proches de la particule : X i →Yi

Notes de cours : Traitement d’images 49 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Yi ={y/y est plus proche de Xi que de


n’importe quelle autre particule}
Î
Y i = {y / d ( y , X i ) < d ( y , X j ) ∀ j ≠ i }
Définition : Le squelette par zone
d’influence (noté SKIZ en anglais) est par
définition le complémentaire de UYi .
Î S z(x)=UYi
i i

Il est évident que le SKIZ de X est inclus


dans le squelette du complémentaire de X. S z ( x ) ⊆ S q (x)

12 - Morphologie Mathématique des fonctions (Image en niveau de gris):


Une image en niveaux de gris est une fonction z=f(x,y)
Présentons les principes de la m.m. sur une fonction à une seule dimension : z=f(x)
12.1 Sous graphe d’une fonction :
Soit f(x) dans R2 avec f(x)>0 . Le sous-graphe (ou ombre) de f(x) noté Uf est défini par Uf
{
= (x,t)∈R 2 /t ≤ f(x)}
Î Le sous graphe d’une fonction constitue donc un ensemble sur lequel on peut définir les
opérations de base de la m.m.

Z=f(x)

Sous-
graphe de

Mais puisqu’on ne s’intéresse qu’à la borne supérieure du sous graphe, on se donne un


élément structurant défini par son sous-graphe.
On fait déplacer le sous graphe de l’élément structurant dans tout le plan R2 et on se pose la
question : est-ce que le sous graphe UB est inclus dans le sous graphe de la fonction Uf ?
Les points retenus représentent le sous-graphe érodé qui conduit à la fonction érodée.
L’ensemble des points retenus forme un sous graphe U f1 tel que : U f1 =U f ΘU B et
f1 = f Θ B
Si on suppose que L’élément structurant B est défini sur un intervalle IB, on peut définir
l’érosion de la manière suivante :
f ( x ) Θ B = Inf { f ( x + u ) − B ( u ) / u∈ I B }
et la dilatation : f ( x ) ⊕ B = Sup {f ( x + u ) + B ( u ) / u ∈ I B }

Notes de cours : Traitement d’images 50 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Î la morphologie mathématique sur les fonctions utilisent l’Inf et le Sup.

Sous-graphe
de l’élément
Le dilaté structurant

Z=f(x)

L’érodé

12.2 Extension des propriétés :

On définit un ordre partiel sur les fonctions par la relation suivante :


f ≤g si f ( x )≤ g ( x ) ∀ x∈ E
• Idempotence : Ψ ( Ψ ( f )) = Ψ ( f )
• Extensivité : un opérateur ψ est extensif si ∀f, f ≤Ψ(f)

• Anti- extensif : est anti-extensif si ∀f, f ≥Ψ(f)

• Croissance : ψ est croissant si ∀f, g / f ≤ g ⇒Ψ(f)≤Ψ(g)

12.3 Ouverture /fermeture :


Ayant l’érosion et la dilatation, on définit l’ouverture et la fermeture de la même manière.
f o B=(fΘB)⊕ B et f ∗B=(f ⊕ B)ΘB
Ces transformations vérifient les même propriétés que celles sur des images binaires.

12.4 Transformation sur les fonctions à deux dimensions :


Sur une image z=f(x,y) les transformations de base érosion et dilatation sont définies de la
même manière.
13 - Filtrage non linéaire :
La morphologie mathématique offre toute une catégorie de filtres non linéaires qui donnent
de bons résultats pour :
• La suppression du bruit
• L’accroissement du contraste
• La caractérisation de texture.
L’ouverture et la fermeture représentent les filtres morphologiques de base. La combinaison
et l’alternance de ces filtres en faisant varier les éléments structurants donne aussi d’autres
filtres morphologiques dits filtres alternés séquentiels (FAS)

Notes de cours : Traitement d’images 51 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

14 - Gradient morphologique :
Le gradient morphologique est défini de la manière suivante :
f ⊕λB− fΘλB
grad(f)=lim

λ →0

f ⊕ B − fΘB
Dans le cas discret : grad(f)=
2
On montre que le gradient morphologique est égal au module du gradient de f.

15 - Chapeau « haut de forme » (CHF):


Le CHF est une transformation très intéressante. Elle permet d’extraire
de l’image les zones qui disparaissent lors d’une ouverture. Elle est
définie comme suit :
CHF (f)= f − fB
On peut aussi définir le conjugué :
CHF *( f ) = f B − f
On peu aussi seuiller le résultat pour ne retenir que les pics qui « percent le chapeau » (le
seuil étant la hauteur du chapeau).

16 - Ligne de Partage des Eaux (LPE) :


L’image peut être considérée comme un relief topographique avec des vallées, des lignes de
crêtes et des bassins versants. Un bassin versant correspond à une zone géographique au
dessus de laquelle si une goutte d’eau tombe se dirige vers un même minimum local. A
chaque minimum local est donc associé un bassin versant. Les lignes de crête sont
considérées comme les contours de
l’image.
L’extraction de ces lignes peut être
envisagée selon deux approches
différentes :
Simulation de l’écoulement : La
première approche consiste à simuler
l’écoulement de l’eau sur la surface du
relief topographique. Les lignes de crêtes
seront formées par l’ensemble des points
pour lesquelles une goutte d’eau tombant
dessus aura le choix de descendre dans
un bassin ou dans l’autre. La
détermination de ces lignes selon cette
approche s’avère très délicate vue les problèmes posés lors de l’étude du comportement des
eaux dans certaines structures topographiques du relief : choix de la direction d’écoulement
dans les plateaux, "boutonnière", …. Par ailleurs, il n’existe pas d’algorithmes efficaces
permettant son implémentation.
Simulation d’inondation : La deuxième approche est basée sur la simulation d’un
processus d’inondation. Supposons que l’on troue la surface topographique au niveau de
chaque minimum local. Nous commençons par inonder progressivement la surface. L’eau va
commencer à monter à vitesse constante dans les bassins versants correspondant aux
minima les plus profonds. Lors de ce processus d’inondation, on empêchera l’eau provenant
de deux minima distincts de se rejoindre. Ceci est réalisé par la construction de barrages aux
lieux de rencontre des eaux provenant de deux bassins versants différents. A la fin de la
procédure d’inondation, tous les points de la surface topographique seront inondés. Les
barrages ainsi construits formeront les lignes de partage des eaux provenant des minima.

Notes de cours : Traitement d’images 52 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Ces lignes correspondent aux contours recherchés de l’image. La figure illustre ce processus
d’inondation. Remarquons qu’on associe à chaque minima local un bassin versant et que les
contours obtenus sont fermés et squelettisés.
16.1 Problème de la LPE :
La LPE s’applique généralement sur l’image gradient dans laquelle les contours sont
rehaussés et les lignes de crête (les maximas locaux) correspondent bien aux points du
contour. Avec des images bruitées, on obtient énormément de lignes de contour,
phénomène dit « sur-segmentation. Pour remédier à ce problème, on peut commencer par
filtrer l’image avant de déterminer son gradient, ou bien contrôler le processus de
construction de la LPE.

16.2 Contrôle de la LPE :


Pour éviter la sur-segmentation on fait recours à des méthodes de contrôle. On peut
contrôler avec des marqueurs ou bien des
méthodes de seuillage.
a- Contrôle par des marqueurs :
Cette technique consiste à imposer les
minimas qu’on va trouer pour provoquer une
inondation. Les minimas non marqués seront
inondés sans donner lieu à la construction de
barrages (figure-1)

b- Contrôle par un simple seuillage :


Cette technique consiste à ne commencer à
construire un barrage que lorsque le niveau
de l’eau dépasse un certain seuil. Cette
technique est illustrée par la figure-2.

c- Contrôle par un seuillage dynamique


du bassin :
Cette technique consiste à supprimer les
minima non significatifs en se basant sur
le concept de dynamique du bassin. Ce
concept est un critère de contraste. La
dynamique du bassin associée à un
minimum local est définie comme la
différence d’altitude entre ce minimum et
le point de crête le plus bas qui doit être

Notes de cours : Traitement d’images 53 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

franchi pour arriver dans un autre bassin ayant un minima plus bas que le premier
(Figure-3).
d- Contrôle par un critère volumique :
Cette technique consiste à n’autoriser la construction d’un barrage que si le volume de l’eau
dans le bassin a dépassé un certain seuil.
16.3 Algorithmes d’obtention de la LPE :
Ils existent plusieurs algorithmes permettant l’obtention de la LPE. Ils sont par ordre
chronologique :
- par amincissement : très lent [Beucher]
- par fléchage : un graphe est établi indiquant la relation de niveau entre les différents
pixels. [Beucher]
- Inondation : par file d’attente [Vincent et Soile]
- Inondation par file d’attente hiérarchique [Meyer]
- Inondation par file d’attente hiérarchique sans biais [Beucher] : le plus récent et le
meilleur.

Exemple de résultat de la LPE : (a) image originale (b) image gradient (c) LPE par l’algorithme de
Vincent & Soile (d) LPE par l’algorithme par FAH de Beucher
17 - Exercices :
1/ Montrer que : ∀ X et Y on a : X ⊕ B ⊂ Y ⇔ X ⊂ YΘB
2/ Montrer que l’ouverture est croissante
3/ Montrer que la fermeture est croissante.
4/ Soient B et B’ deux éléments structurants tels que B ⊂ B' . ∀ X on a X ⊕ B ⊂ X ⊕ B'
5/ Soient B et B’ deux éléments structurants tels que B ⊂ B' .
∀ X on a XΘB' ⊂ XΘB
6/ Monter que la dilatation et et l’érosion sont croissantes.

Notes de cours : Traitement d’images 54 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Chapitre-5 : Segmentation d’images

1 - Introduction :
Une image est généralement composée d’objets. L’analyse d’image nécessite l’identification
de ces objets. Un objet peut être composé de régions plus ou moins homogènes. Chaque
objet est délimité par une bordure appelée « contour ». L’identification d’un objet nécessite
d’abord celle des régions. La segmentation d’image consiste donc à identifier les différentes
régions présentes dans l’image. Elle peut être considérée comme étant une partition de
l’image en sous ensembles Ri appelés régions, telles que :
Ri est connexe
∀ i Ri ≠ ∅
∀ i , j / i ≠ j Ri ∩ Rj = ∅
∪i Ri = l’image entière
Il existe deux grandes approches pour segmenter un image :
- Approche par région : On recherche les pixels se trouvant à l’intérieur de la région
- Approche par contour : On recherche les transitions (ou discontinuités) entre les régions.
Ces transitions constituent leur bordure ou bien leur contour.
Les deux approches sont duales puisque la connaissance de la région permet la
détermination de la bordure et vice-versa
Un algorithme de segmentation s’appuie donc sur :
- la recherche de discontinuités afin de mettre en évidence les contours
- la recherche d’homogénéité locale pour définir les régions ;
- ou encore sur la coopération des deux principes.

2 - Approche par contour :


Le contour d’une région est formé par l’ensemble des points de transition entre elle et ses
régions voisines. Ces points de transitions se caractérisent par une dérivée première qui

Profil de Dérivée première Dérivée


l’i d
passe par un extrémum et une dérivée seconde qui passe par zéro.

Dans le cas de l’image qui est une fonction à deux variables, on parle plutôt de gradient et
de Laplacien.
2.1 La méthode du gradient
Le gradient des niveaux de gris en un point d’une image 2D est un vecteur constitué des
deux dérivées partielles de l’image :

Notes de cours : Traitement d’images 55 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

D’un point de vue géométrique, le vecteur gradient en un point indique la direction où la


variation des niveaux de gris est la plus grande. Son amplitude donne la valeur de la pente.
La pente est très faible aux points se trouvant à l’intérieur d’une région homogène et une
valeur importante aux points de transition. Dans la pratique, on s’intéresse le plus souvent à
l’amplitude du vecteur.

G = (Gx2 + G y2 )1/ 2 ou bien G = Gx + G y

f(x+ h, y)− f(x, y)


Gx ≈
h

L’amplitude du gradient ne donne pas directement les points appartenant au contour car
ceux-ci correspondent au maximum du gradient qu’il faut déterminer pour avoir une image
contour. Si on effectue un simple seuillage on risque d’avoir des morceaux de contour épais
et d’autres entrecoupés. La « Ligne de Partage des Eaux » est une méthode efficace
permettant de déterminer les maximas du gradient qui sont considérés comme les lignes de
crête de la surface géographique représentée par l’image.

Etant donné que l’image est discrète, l’estimation du gradient se fait par des opérateurs de
différenciation. Il en existe plusieurs : Opérateur de Robert,
Sobel, Prewit, Kirsh, etc… 1 0 0 1
L’application de chaque opérateur revient généralement au
calcul d’un produit de convolution entre l’image et un masque
0 -1 -1 0
composé de 3x3 pixels. Chaque opérateur utilise généralement
2 ou plusieurs masques chacun permettant d’estimer le gradient
dans une direction.
a- Opérateur de ROBERT
L’opérateur de Robert utilise deux masques 2x2 dans les directions 45° et 135°.
b- Opérateur de Sobel
Les régions étant d’une homogénéité rarement parfaite, l’opérateur de Sobel ainsi que les
suivants préfèrent étendre la différentiation à plusieurs voisins.

1 2 1 1 0 -1

0 0 0 2 0 -2

-1 -2 -1 1 0 -1

Exemple d’image originale et son

Notes de cours : Traitement d’images 56 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

c- Opérateur de Prewitt 1 1 1 1 0 -1

0 0 0 1 0 -1
d- Opérateur de Kirsch
L’opérateur de Kirsh utilise 8 masques pour -1 -1 -1 1 0 -1
considérer les 8 directions espacées de 45 degré.

3 3 3 3 3 3 -5 3 3 -5 -5 3 -5 -5 -5 3 -5 -5

3 0 3 -5 0 3 -5 0 3 -5 0 3 3 0 3 3 0 -5 Etc.

-5 -5 -5 -5 -5 3 -5 3 3 3 3 3 3 3 3 3 3 3

e- La méthode du Laplacien :
Cette méthode est très utilisée pour la détermination du contour. En effet les points de ce
dernier correspondent aux points de passage par zéro du Laplacien. Comme ces points
existent toujours et sont uniques, on est assuré d’avoir un contour fermé et d’épaisseur un
pixel. Cependant cette méthode présente l’inconvénient d’être très sensible au bruit. On
risque donc d’obtenir une sur-segmentation. Pour remédier à ce problème, il faut lisser
l’image avant d’appliquer le Laplacien.
∂2 f ∂2 f
Le Laplacien est défini comme la somme des dérivées partielles secondes. ∆f = + 2
∂x 2 ∂y
Dans le cas discret, le Laplacien peut être approximé par un produit de convolution par le
masque L1.
On peut conjuguer au sein d’un L1 L2 L3
même opérateur le lissage par
une Gaussienne et la 0 -1 0 -1 -1 -1 1 -2 1
détermination du Laplacien. C’est
-1 4 -1 -1 8 -1 -2 4 -2
ce que font les opérateurs L2 et
L3. 0 -1 0 -1 -1 -1 1 -2 1

Remarque :
• l’application d’un opérateur revient à prendre le produit de convolution de l’image par le
masque. Dans la pratique, on applique une convolution par une colonne suivie d’une
convolution par une ligne. En effet :
f(x , y )⊗ (mv ⊗ m h ) = (f(x , y )⊗ mv )⊗ m h
• Traitement des effets de bord :
L’application d’un produit de convolution près du bord pose de petits problèmes : on a besoin
de points situés à l’extérieur de l’image. Pour résoudre ce problème, on peut appliquer l’une
des solutions suivantes :
9 Considérer une valeur par défaut.
9 Miroirisation : imaginer un miroir sur le bord ce qui provoque l’effet de symétrie
9 Périodisation : considérer que l’image est périodique
9 Recopiage des valeurs du bord à l’extérieur de l’image.
9 Ne pas calculer le produit de convolution sur le bord de l’image.

2.2 Opérateurs morphologiques :


La morphologie mathématique fournit des outils de segmentation assez robustes. On y
trouve des gradients morphologiques, le chapeau haut-de-forme (CHF), le chapeau bas-de-

Notes de cours : Traitement d’images 57 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

forme (CBF) et la Ligne de Partage des Eaux (LPE). Cette dernière est présentée dans le
chapitre réservé à la morphologie mathématique.
a- Cas d’une image binaire :
X − ( X Θ B ) : l’image moins l’érodé fournit le contour intérieur de l’objet.
(X ⊕ B)− X : le dilaté moins l’image fournit le contour extérieur de l’objet.
b- Cas d’une image en niveaux de gris :
• GE(f)= f −(fΘB) est appelé Gradient d’Erosion.

• GD(f)=(f ⊕ B)− f est appelé Gradient de Dilatation.


• Ces deux gradients permettent d’accentuer les transitions.
• Le Gradient morphologique de BEUCHER : GE(f)+GD(f)=(f ⊕ B)−(fΘB)
• Le chapeau Haut de Forme (CHR) : f −(f o B)
• Opérateurs de détection de contours marqués : min(GE ( f ), GD( f ))
max(GE ( f ), GD( f ))
• Le Laplacien non linéaire : GD(f)−GE(f)
• LPE : Ligne de Partage des Eaux
2.3 Détermination du contour (suivi du contour) :
Le Gradient fournit une image dans la quelle les points susceptibles d’appartenir à un
contour sont rehaussés. C’est une image à niveau de gris. Pour obtenir un contour continu
et d’épaisseur un, il faut déterminer les maximums locaux de l’image gradient ce qui n’est
pas une tâche facile. Une opération de seuillage de l’image gradient peut fournir des bouts
de contour plus ou moins épais. Il faudra coller les morceaux et amincir les morceaux
obtenus.
2.4 Méthode : seuillage par hystéresis :
Le seuillage par hystéresis est une méthode de détection de contours basée sur le gradient
de l'image. Les contours donnés par les fortes valeurs du gradient sont souvent étalés, voire
flous. Le seuillage à hystérésis permet de les affiner et de ne conserver que les contours les
plus cohérents. A cet effet, les pixels de l'image de gradient sont filtrés grâce à deux seuils
distincts, T1 et T2 (T1 < T2) :
- En dessous du seuil bas T1, on considère qu'il n'y a pas de contours.
- Au dessus du seuil haut, on décide qu'il y a contour
- Les contours obtenus sont ensuite complétés par les pixels compris entre T1 et T2 si et
seulement s'ils sont connexes entre eux.
Ainsi le niveau bas se débarrasse du bruit indésirable. Le seuillage haut ne garde que les
composantes importantes mais incomplètes. La troisième étape permet de compléter ces
contours.
3 - Segmentation par seuillage d’image :
3.1 Principe :
Dans de nombreuses applications, les images peuvent être bien contrastées et l’application
de techniques simples très rapides pourrait suffire pour trouver de bons résultats. La
méthode basée sur le seuillage de l’image en est une.
Dans le cas où l’image contient deux régions, une représentant l’objet auquel on ‘intéresse et
l’autre le fond de l’image, et si les régions sont bien contrastées, on peut décider de
l’appartenance d’un pixel à l’une ou l’autre des régions par un simple : sa valeur est-elle
supérieure ou inférieure à un seuil connu à l’avance.

Notes de cours : Traitement d’images 58 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Image originale Image seuillée à 110 Image seuillée à 128 Seuillage après égalisation

g ( x , y ) = ⎧⎨1 si f ( x , y )≥ S
⎩ 0 sin on
On peut aussi avoir un intervalle [S1,S2] dans lequel doit se trouver la valeur du seuil :

g ( x , y ) = ⎧⎨1 si S 1≤ f ( x , y ) ≤ S 2
⎩ 0 sin on
Ou bien d’une manière plus générale, la valeur du pixel doit appartenir à un domaine E :

g ( x , y ) = ⎧⎨1 si f ( x , y ) ∈ E
⎩ 0 sin on
En fait la méthode du seuillage s’apparente aux méthodes de classification puisque le
résultat obtenu n’est pas nécessairement une région connexe. Ceci vient du fait que le
critère de décision n’intègre aucune condition de connexité ou de voisinage. Cependant, un
post-traitement consistant en un étiquetage des composantes connexes fournirait des
régions.
Nous venons de considérer un seuillage pour déterminer deux classes. Le principe peut se
généraliser à plusieurs classes. En effet, si on applique plusieurs valeurs de seuil S1, S2, S3,
… Sn on obtient (n+1) classes.
3.2 Détermination de la valeur du seuil :
Pour appliquer la méthode du seuillage il faut pouvoir déterminer automatiquement la bonne
valeur de seuil. Parfois, lorsque éclairage n’est pas uniforme par exemple, on ne peut pas
appliquer le même seuil à toute l’image.
Pour déterminer le bon seuil, plusieurs techniques peuvent être appliquées : minimums
locaux de l’histogramme, minimisation de la variance, maximisation de l’entropie,…
a- Minimums locaux de l’histogramme :
L’histogramme peut être utilisé pour la détermination de la valeur du seuil. D’autres
techniques permettent de déterminer un seuil adaptatif.

Notes de cours : Traitement d’images 59 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Dans le cas d’une image contenant plusieurs régions bien distinctes, l’histogramme est m-
modales (m étant le nombre de régions). Pour déterminer les seuils si, on peut chercher les
minimums locaux de l’histogramme. Cette technique est simple mais est très peu appliquée
car les images traitées sont le plus souvent bruitées et leur histogramme est unimodal.
b- Minimisation/ Maximisation de la variance :
La répartition des pixels en N classes est un problème classique en classification. Le choix
des seuils Si permet de détecter N classes auxquelles on peut associer la taille ti, la
moyenne mi et la variance Vi :
ti = ∑ H ( j) avec Di = [si −1 , si [ la gamme des niveaux de gris de la classe Ci
j ∈ Di

mi = ∑ j .H ( j ) / t
j∈Di
i

Vi = ∑ ( j − mi ) 2 .H ( j ) / t i

Méthode de Fisher : A partir de ces indicateurs statistiques, on peut calculer la variance


intra-classe totale W par :
W = ∑ t i .Vi
i

Le meilleur seuillage correspond à la minimisation de cette variance intra-classe. Cette


technique est difficilement applicable lorsque le nombre de classes est élevé.
Méthode d’Otsu : Otsu a proposé une maximisation de la variance inter-classes qui est
donnée dans le cas de deux classes (binarisation d’images) par :
B = t 0 .t1 .(m0 − m1 ) 2
Cette méthode est équivalente à celle de Fisher car on a : W+B=constante. Cependant, la
méthode d’Otsu présente l’avantage de ne pas nécessiter le calcul de variances.
c- Maximisation de l’Entropie :
La d’entropie d’une classe mesure la quantité d’information. Pour une classe Ci, elle est
définie par :
E (C i ) = −∑ p j . log 2 ( p j ) avec p j = H ( j ) / taille _ image
j

L’entropie totale est donnée par : E = ∑ E (C j )


j

4 - Approche par région :


Une région est une zone homogène au sens d’un certain critère. Pour segmenter une image
par l’approche région », il faut donc se définir un critère d’homogénéité H. La segmentation
par approche région est une partition de l’image en régions homogènes R1, R2, ….., Rn telles
que :
- l’union des Ri est égale à l’image
- Toute région Ri est connexe
- Pour tout i, H(Ri) est vrai
- Pour tout couple de région voisines Ri et Rj H(RiURj) est faux.
Le choix du critère d’homogénéité est primordial. Le résultat de la segmentation en dépend.
Même pour un critère donné, la solution n’est pas unique. Elle dépend notamment du type
de parcours de l’image.
Parmi les critères d’homogénéité permettant, on peut citer :
- le contraste : H [ X i ] = Variance( X i ) < Seuil
- Frontière : Ce critère est utilisé pour réunir deux régions. Si leur frontière est petite par
rapport à leur périmètres, on décide alors de les réunir.

Notes de cours : Traitement d’images 60 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

- Configuration de voisinage : Un pixel appartient à une région si son voisinage est


conforme à une configuration donnée.
Il existe plusieurs méthodes opérant par approche région.
4.1 Méthode de croissance de régions
La méthode de croissance de région dite aussi méthode d’agrégation de pixels, est une
technique ascendante de segmentation d’image. En effet, elle consiste à faire croître, d’une
manière récursive, chaque région Ri autour d’un pixel de départ appelé germe. La décision
d’intégrer à la région un pixel voisin repose seulement sur le critère d’homogénéité imposée
à la zone en croissance. Ainsi, le regroupement des pixels se fait selon un double critère :
l’homogénéité et l’adjacence. La connexité des régions obtenues est donc assurée.
4.2 Méthode par division de régions
Le principe de la segmentation par division de région consiste à vérifier le critère de manière
globale sur une large zone de l’image. Si la zone satisfait le critère, le processus de
segmentation s’arrête. Sinon, la zone est décomposée en zones plus petites et la méthode
est répétée sur chacune des zones. La méthode par division de région repose généralement
sur des structures hiérarchiques telles que le « Quadtree » et le diagramme de voronoi.
a- Les méthodes basées sur la structure d’arbre quaternaire ou « Quadtree »
En pratique, Les méthodes basées sur la structure du « Quadtree » procèdent par une
division de l’image originale en quatre sous régions. Chaque sous région est ensuite elle
même divisée en quatre autres sous régions tant que le critère n’est pas validé. Par
conséquent, une structure hiérarchisée des régions est formée. Les figures suivantes
présentent un exemple du découpage d’une image en utilisant le « Quadtree ».
b- Méthodes basées sur la structure du « Diagramme de Voronoϊ »
A cause de l’inconvénient majeur que présente le Quadtree résidant dans la rigidité du
découpage carré qu’il impose, une autre structure ou autre graphe d’adjacence est aussi
inventé : c’est le Diagramme de Voronoi (figure). Ce diagramme cherche à partager l’image

en région par un découpage en polygones de Voronoi. A chaque polygone est associé un


germe. Les germes sont initialement positionnés de manière aléatoire puis introduites de
manière guidée par l’image. D’une manière similaire aux
méthodes opérant par Quadtree, l’algorithme opérant par
structure Diagramme de Voronoi comprend trois
phases :
- Initialisation : Des germes sont positionnés et répartis
uniformément dans l’image grâce à un processus de
Poisson. A chaque germe est associée une région dont les
frontières sont établies grâce à un diagramme de Voronoï.
- Division : Un prédicat d’homogénéité est calculé pour chaque région et les régions non
homogènes sont divisées par introduction de nouveaux germes. Le diagramme de Voronoï
est remis à jour et le processus de division est réitéré jusqu’à ce que toutes les régions de
Voronoï respectent un prédicat d’homogénéité.
- Fusion : Les germes qui ne correspondent pas à un objet dans l’image sont éliminés dans
cette dernière étape. Ainsi, les régions adjacentes dont les couleurs moyennes sont proches

Notes de cours : Traitement d’images 61 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

et pour lesquelles la longueur de la frontière commune divisée par la somme de leurs


périmètres est inférieure à un seuil sont fusionnées.

4.3 Méthode par « division-fusion» ou « Split_and_Merge » :


L’algorithme “Split_and_Merge” a été proposé par Horwitz et Pavlidis en
1974. L’algorithme contient deux étapes :
- Division (« Split ») : Si une région ne vérifie pas le critère
d’homogénéité, alors on la divise en sous régions (le plus
généralement en 4 quadrants) et on réitère le processus pour
chaque sous région.
- Fusion (« Merge ») : On étudie tous les couples formés de deux
régions. Si leur union vérifie le critère d’homogénéité, alors on les
réunit.
A l’état initial, on peut considérer que chaque pixel forme une région à lui tout seul.
5 - Segmentation de régions texturées :
Dans de nombreuses applications, les régions sont texturées et sont considérées
homogènes. La segmentation de régions texturées est donc souvent nécessaire pour aboutir
à une partition de l’image.
Il est difficile de donner une
définition précise à la texture.
Toutefois, on peut dire qu’il
existe deux types de textures :
- les textures
périodiques : elles sont
obtenues par une
répétition d’un motif de
base et
- les textures aléatoires :
elles ont un aspect
aléatoire et anarchique
Il existe un catalogue d'images représentant différentes textures (Brodatz,1966) : Il s'agit de
112 textures (sable, herbe, bulles , eau, bois… etc) ayant chacune seize variantes
différentes. Ces images sont classiquement utilisées pour valider les différentes méthodes
d'analyse de texture.
5.1 Caractéristiques d’une texture :
Les caractéristiques de base les plus utilisées ont été définies par Amadasum et al 1989) et
Rolland (1997) : Il s’agit du contraste, de la complexité, de la grossièreté, de la direction et
de la force :
- La grossièreté : une texture grossière possède des primitives larges : il existe alors peu
de variations entre l'intensité d’un pixel et celle de ses pixels voisins.
- Le contraste : une texture possède un contraste élevé si les différences d’intensité entre
primitives sont importantes .
- La complexité : une texture complexe possède plusieurs types de primitives .Dans ce
cas le contenu d’informations présent dans la texture est important.
- La force : plus la force est élevée et plus les primitives sont facilement définissables et
Visibles
- La direction : Il s’agit de la direction d’une éventuelle périodicité.
5.2 Contour de régions texturées :
La présence de régions texturées introduit des perturbations lors de la détermination du
contour des régions car une texture contient des transitions qui peuvent être assimilées à la

Notes de cours : Traitement d’images 62 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

présence de contours. Pour éviter ces problèmes, on peut calculer le gradient sur la
moyenne d’un voisinage du pixel. C’est le cas de l’opérateur de Rosenfeld :
G x ( x, y ) = I * ( x + r , y ) − I * ( x − r − 1, y )

G y ( x, y ) = I * ( x, y + r ) − I * ( x, y − r − 1)
où : I * ( x, y ) = (2r + 1) −2 .Sum i + j < r I ( x + i, y + j )
r définit la taille des fenêtres autour des points sur lesquelles on effectue la moyenne.

5.3 Méthodes d’analyse des textures


L'analyse de texture consiste à calculer, à l'aide de la valeur des pixels (intensité), un certain
nombre de paramètres mathématiques caractéristiques de la texture à étudier. L’analyse de
texture peut avoir deux objectifs : soit pour segmenter l’image soit pour caractériser une
région. A titre d’exemple, l’iris et l’empreinte digitale peuvent être considérée comme des
textures dont la caractérisation permet d’identifier la personne.
Il existe deux types de méthodes d’analyse de texture :
- Les méthodes structurelles qui opèrent par la description des primitives (motif de base)
et des "règles" d'arrangement qui les relient. De telles méthodes sont plus adaptées à l'étude
de textures périodiques ou régulières.
- Les Méthodes statistiques qui étudient les relations entre un pixel et ses voisins et
définissent des paramètres discriminants de la texture en se basant sur des outils
statistiques.
5.4 Les méthodes statistiques :
Les méthodes statistiques étudient les relations entre un pixel et ses voisins et définissent
des paramètres discriminants de la texture en se basant sur des outils statistiques.
Généralement, elles sont utilisées pour caractériser des structures fines, sans régularité
apparente. Plus l'ordre de la statistique est élevé et plus le nombre de pixels mis en jeu est
important.
Parmi ces méthodes, nous citons les attributs d’histogramme, les attributs du gradient, les
matrices de cooccurrence, les matrices des longueurs de plage et les filtres de Gabor
a- Méthodes de premier ordre
Les méthodes de premier ordre considèrent l’image comme un processus aléatoire discret et
utilisent les attributs stochastiques de l’image pour caractériser la texture. Les attributs les
plus utilisées sont la moyenne, la variance, le « skewness », le « kurtosis » et
l’autocovariance [Cocquerez,1995]
La moyenne (3.1) permet d’indiquer le niveau de gris moyen de la texture.
1
Moy =
N
∑ m(i, j )
( i , j )∈R

avec :
m(i,j) = la valeur du pixel (i,j) et
N est le nombre de pixels appartenant à la région d’intérêt R
La variance correspond au moment d’ordre 2. Elle mesure la répartition des niveaux de gris
autour de la valeur moyenne. Plus la variance est élevée, plus l’écart entre les différents
niveaux de gris et leur valeur moyenne est grand.
1
Var =
N
∑ (m(i, j ) − Moy)
( i , j )∈R
2

Le « Skewness » correspond au moment d’ordre 3. Il mesure la déviation de la distribution


des niveaux de gris par rapport à une distribution symétrique.

Notes de cours : Traitement d’images 63 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

1
Skew =
N
∑ (m(i, j ) − Moy)
( i , j )∈R
3

Le « Kurtosis » correspond au moment d’ordre 4 et caractérise la forme du sommet de


l’histogramme.
1
Kurt =
N
∑ (m(i, j ) − Moy)
( i , j )∈R
4

L’autocovariance montre une forme périodique si la texture est périodique.


1
AC (t x , t y ) =
Nc
∑ (m(i, j ) − moy)(m(i + t
( i , j )∈R ,( i + t x , j + t y )∈R
x , j + t y ) − moy )

avec : N c : le nombre de couples


(t x , t y ) : le vecteur de translation

Le tableau-3.1 montre des exemples d’attributs statistiques de premier ordre calculés sur
des images de Brodatz.
b- Les méthodes de second ordre
Les moments statistiques à l’ordre k n’utilisent pas d’information sur la localisation des pixels
les uns par rapport aux autres. Pour effectuer une analyse large, on fait appel aux méthodes
de second ordre qui exploitent principalement l’information contenue dans la matrice de
cooccurrence. Appelée aussi « matrice de dépendance spatiale des niveaux de gris », cette
matrice détermine la fréquence d’apparition d’un motif formé de deux pixels, de longueur
donnée et orienté dans une direction particulière. Elle est définie par la formule :

⎧((a, b), (c, d )) ∈ N 2 xN 2 , tel que⎫


⎪ ⎪
⎪ (c, d ) = (a + t x , b + t y ), ⎪
MCt (u , v) = card ⎨ ⎬avec t = (t x , t y )
⎪ m(a, b) = u , et ⎪
⎪ m( c , d ) = v ⎪
⎩ ⎭

Une matrice de cooccurrence contient une masse importante d’information sur la finesse, la
direction et la granularité de la texture. Pour une texture grossière, les valeurs de la matrice
sont concentrées sur la diagonale principale, alors que pour une texture fine, les valeurs de
la matrice seront dispersées. Haralick a proposé quatorze indices descriptifs de la texture qui
peuvent être déterminés à partir de la matrice de cooccurrence. Les plus fréquemment
utilisés de ces indices sont : l’homogénéité (3.7), le contraste (3.8), l’entropie (3.9) et la
directivité.
L’indice d’homogénéité est d’autant plus élevé qu’on retrouve souvent le même couple de
pixels ce qui exprime soit l’uniformité de la texture soit la périodicité dans la direction du
vecteur de translation :
1
Hom =
Nc 2
∑∑ (MC (u, v))
u v
t
2

L’indice de contraste exprime le passage fréquent d’un pixel clair à un pixel foncé ou
inversement :
L −1
1
Cont =
Nc( L − 1) 2
∑ k ∑ MC (u, v)
k =0
2

u −v = k
t

Notes de cours : Traitement d’images 64 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Tableau : Exemples d’attributs statistiques calculés sur des images de l’album de Brodatz

Image Statistiques de premier ordre Statistiques de deuxième ordre


Moyenne Variance Skewness Kurtosis Homogé- Contraste Entropie
néité

116,93 6,851 103 61,614 103 88,991 106 2,3601 69,35 2,4687

112,1182 6,923 103 207,661 103 97,154 106 2,7817 337,02 3,0219

125,3764 6 636,163 42,462 103 85,456 106 2,2640 376,7582 2,3903

44,7757 6 040,63 814,466 103 171,150 106 2,4266 1 402,66 2,667

81,0075 712,1877 13,792 103 7,491 106 0,9521 281.0414 0,9681

116,9545 5 206,4116 120,846 103 64,190 106 0,8071 1 964,5541 0,7686

121,5040 5 512,8745 70,772 103 67,554 106 0,7459 2 347,0251 0,7370

50,2025 5 341,1064 608,745 103 121,690 106 0,8778 2 648,3103 0,8490

Notes de cours : Traitement d’images 65 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

L’indice d’entropie exprime le degré de désordre dans la texture. Il est d’autant plus faible
qu’on a souvent le même couple et est d’autant plus forte que chaque couple est bien
représenté :

1
Ent = 1 − ∑∑ MCt (u, v). ln(MCt (u, v)).l MCt (u ,v )
Nc. ln( N c ) u v
⎧1 si MC t (u , v) ≠ 0
avec : l MCt ( u ,v ) = ⎨
⎩0 sin on

La directivité exprime la présence éventuelle d’une certaine orientation. Elle est d’autant
plus grande qu’il y a des pixels de même niveau de gris séparés par la translation t :
1
Direct =
Nc
∑ MC (u, u)
u
t

Toutes les méthodes statistiques traditionnelles du premier et du second ordre sont


restreintes à l’analyse de l’interaction spatiale d’un petit voisinage [Unser, 1995]. Ces
méthodes sont donc dédiées à l’analyse et à la segmentation de microstructures. Mais elles
présentent l’inconvénient de demander un temps de calcul assez élevé surtout lorsqu’on
utilise la matrice de cooccurrence. Ces méthodes manquent aussi de précision lorsque
l’ordre des attributs statistiques devient plus grand. Le tableau-3.1 montre des exemples
d’attributs statistiques de second ordre calculés sur des images de Brodatz.

5.5 Méthodes basées sur le filtre de Gabor :

La fonction de Gabor est une sinusoïde complexe modulée par une Gaussienne. Les
équations suivantes donnent la réponse impulsionnelle, la fonction de transfert ainsi que les
transformations nécessaires.

h( x, y ) = g ( x, y ). exp(2 jπFx' )
( x' , y ' ) = ( x. cosθ + y. sin θ ,− x. sin θ + y. cosθ )
H (u, v) = exp{− 2π 2σ 2 ((u '− F ) 2 + v' 2 )}
(u ' , v' ) = (u. cos θ + v. sin θ ,−u. sin θ + v. cos θ )

La fréquence centrale de la fonction de Gabor est définie par (U , V ) .


La fréquence centrale radiale est donnée par : F = U 2 +V 2

et l'orientation par : θ = tan −1 (V / U ) . σ est la déviation standard définie par :


ln ( 2 ) / 2 2B +1
σ= ⋅ B
πF 2 −1
où B est la bande passante radiale.
La fonction de Gabor est très intéressante quand elle est étudiée dans le domaine
fréquentiel. C'est une fonction Gaussienne déplacée en fréquence à la position (U,V) c.-à-d.
à une distance F de l'origine dans l'orientation φ . La figure (3.2) montre un exemple d'un
filtre de Gabor.
Les filtres de Gabor ont plusieurs propriétés qui les rendent particulièrement convenable
pour la segmentation des textures.

Notes de cours : Traitement d’images 66 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

F
θ
u

Transformée de Fourier de la fonction de Gabor avec F = 75, f = 45°

Exemple : Image originale, Le filtre de Gabor réglé à 30 degré, image filtrée

(a) (b) (c) (d)

Echantillons de résultats obtenus par filtrage de Gabor sur une image de texte arabe. (a) image du texte considérée
comme une texture, (b) Résultat obtenu en fixant (fréquence=4, angle=0°), (c) Résultat obtenu en fixant (fréquence=4,
angle=45°), (d) Résultat obtenu en fixant (fréquence=4, angle=90°).

6 - Segmentation par « Contour actif » (Snake) :


6.1 Introduction :
Les méthodes classiques de détection de contour sont basées sur la recherche des
discontinuités des niveaux de gris et procèdent par la détermination du gradient ou du
Laplacien de l’image. Les contours correspondent soient aux maxima locaux du gradient soit
au passage par zéro du Laplacien. Les méthodes connues sous le nom de « contours
actifs » constituent une nouvelle approche de détection de contours dans une image.
Les MCA, connus aussi sous le nom de snake en référence à leur manière d’évoluer et de
se déformer, constituent en fait un exemple d’une classe de méthodes connues sous le nom
de « modèles déformables » qui utilisent des connaissances à priori sur la forme de l’objet
recherché. Cette connaissance peut être issue d’une base d’apprentissage où une forme de
référence (forme prototype) ainsi que des modes de déformation peuvent être extraits. Les
MCA utilisent plutôt des informations plus générales qui se limitent à des propriétés de
continuité et de régularité du contour de l’objet.

Notes de cours : Traitement d’images 67 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Les MCA sont très utilisés en segmentation d’images. Les applications les plus
spectaculaires sont celles dont l’objectif est le suivi d’un objet dans une séquence d’images
qui peut être soit une séquence d’images vidéo (inter-frame snake), soit des coupes d’objets
3D (imagerie médicale) (inter-slice snake), soit des images stéréo (stéréo snake).
Son principe consiste à partir d’un contour initial proche de l’objet choisi à l’intérieur ou bien
à l’extérieur de l’objet et à le laisser évoluer sous l’influence de forces attractives ou bien
répulsives pour qu’il se rapproche au mieux du contour recherché. Le processus est donc
itératif et s’arrête lorsque le contour épouse le contour réel de la région objet de la
segmentation.
Les forces agissant sur le contour actif sont exprimées sous la forme d’énergie dont la
minimisation fera évoluer le snake dans la direction du contour recherché. Il existe trois
types d’énergie :
- énergie potentielle ou bien énergie image responsable de l’attraction du snake vers
les caractéristiques du contour recherché
- énergie interne responsable de la manière dont le snake va évoluer donc de son
élasticité et de sa rigidité.
- énergie externe ajoutée par l’utilisateur pour exprimer une force d’attraction ou bien
de répulsion

Selon la manière d’exprimer l’énergie potentielle on distingue deux approches de contour


actif:
- approche contour : l’énergie potentielle utilise une information de type contour et on
parle alors de « modèle de contour
actif » (contour actif par approche
contour). Cette l’approche classique
avait été introduite pour la première
fois par Kass et al. en 1987,
- approche région : l’énergie
potentielle utilise une information
traduisant l’homogénéité des
régions et on parle alors de
« modèle de région active » (contour
actif par approche région).
Cetteapproche avait été introduite
par Mumford et Shah en 1989.
On peut aussi combiner les deux approches (Paragios et Deriche 2002).

La manière de représentation du snake divise les modèles de contour actif en deux


catégories :
- les modèles continus modélisent le snake à l’aide d’une représentation analytique
ou d’approximation de type spline qui assure une bonne qualité du contour.
- Les modèles discrets représentent le snake à l’aide d’un polygone dont les
sommets sont des pixels de l’image.

6.2 Eléments de fondements théoriques :


Un snake est un contour paramétrique qu’on peut représenter par une fonction ayant deux
paramètres exprimant d’une part la position sur le contour et d’autre part le temps puisque le
snake évolue dans le temps :
X ( s, t ) : avec s : un paramètre sur la courbe et t : le temps

X ( s ) = ( x( s ), y ( s )) avec s ∈ [0,1]

Notes de cours : Traitement d’images 68 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Le snake admet une énergie qui est la somme des énergies de tous ses points :
1
E snake = ∫ E élément ( X ( s ))ds
0

Par ailleurs, l’énergie du snake est composée de trois types d’énergie :


- une énergie interne
- une énergie externe
- et une énergie image
L’énergie du snake est donc une somme de trois fonctionnelles d’énergie. Une fonctionnelle
est une fonction de plusieurs fonctions donnant un résultat scalaire.

1 1 1
E snake = ∫ Eint ( X )ds + ∫ E ext ( X )ds + ∫ Eim ( X )ds
0 0 0

a- Energie interne :
L’énergie interne sert à maintenir une certaine topologie cohérente du contour en empêchant
des nœuds du contour de se balader individuellement trop loin de leurs voisins. Cette
énergie est dite « interne » puisqu’elle est caractéristique des propriétés physiques du
contour. Elle contrôle donc l’élasticité et la rigidité du contour dans le but de limiter l’influence
des effets externes sur la déformation du contour. Elle s’exprime donc en fonction de la
dérivée première qui permet de contrôler l’élasticité du snake et de la dérivée seconde qui
permet de contrôler sa rigidité:

Eint ( X ) = α ( s ) X s ( s ) + β ( s ) X ss( s )
2 2

avec :
∂X ∂2 X
X s ( s) = et X ss ( s ) =
∂s ∂s 2
α (s) est un paramètre qui contrôle l’élasticité (ou la tension) du snake.
et β (s ) est un paramètre qui contrôle la rigidité du signal.

En l’absence d’autres contraintes, la minimisation de cette énergie va pousser le snake à


former un contour circulaire et à converger finalement vers un point. Si en plus, on fixe les
terminaisons du snake, il convergera vers une droite. Si β ( s ) = 0 , le terme de la dérivée
seconde n’intervient pas et le snake aura une dérivée seconde discontinue ce qui veut dire
qu’il développera des coins.

b- Energie externe :
L’énergie externe sert à introduire des informations de haut niveau en exprimant par
exemple des forces d’attraction ou bien de répulsion de/vers des points ou bien des régions
particulières de l’image. Par exemple, l’attraction vers un point i de l’image peut être
exprimée de la manière suivante :
E ext ( X ) = k X − i
2

et la répulsion d’un point i peut être exprimée par :


k
E ext ( X ) =
X −i
2

Les courbes de la figure expriment le rapprochement du snake d’un point en fonction de


chacune des forces d’attraction et de répulsion.

Notes de cours : Traitement d’images 69 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Force attractive Force répulsive

c- Energie potentielle ou énergie image :


L’énergie potentielle P est obtenue par un traitement de l’image pour générer une force qui
permet d’attirer le snake vers les caractéristiques d’intérêt.
On peut utiliser différentes caractéristiques pour définir l’énergie potentielle :
- caractéristiques de contour Î « contour actif par approche contour » : c’est la
première approche à avoir été introduite
- caractéristiques de régions (homogénéité, texture, variance, …) Î « contour actif par
approche région » : c’est la deuxième approche à avoir été introduite.

Exemple de contour actif par approche région : détection des cavités cardiaques dans une
image scintigraphique du cœur.

Notes de cours : Traitement d’images 70 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Chapitre-6 : Géométrie, étude des formes et


mesures

1 - Introduction :
Dans le chapitre précédent, nous avons présenté la segmentation dont le rôle est d’identifier
les différents objets, ou segments ou régions se trouvant dans une image. Dans ce chapitre,
nous allons nous intéresser aux propriétés géométriques de ces objets pour préparer leur
reconnaissance.
L’image d’entrée est donc une image binaire résultant de la phase de segmentation. Le fond
admet une valeur généralement nulle et les objets admettent une autre valeur.
2 - Adjacence et connectivité :
2.1 Connectivité et bordure :
La connectivité désigne la connectivité des voisins à un pixel. En trame carrée, on peut
travailler en connectivité (ou connexité) 4 ou en connectivité
* * * *
8:
* (i,j) * * (i,j) *
Connexité-4 : Un point admet 4 voisins
* * * *
Connextité-8 : un point admet 8 voisins

2.2 Chemin :
Un chemin entre deux pixels (i,j) et (h,k) est
une séquence de pixels distincts :
(i, j),(i1,j1), (i2,j2), …… (in,jn), (h,k) avec (ik,jk)
adjacent à (ik-1,jk-1)
Selon qu’on travaille en connexité-4 ou en
connexité-8, la solution est différente.
La longueur d’un chemin est égale au nombre
de pixels constituant le chemin moins 1 .
2.3 Relation « connecté à » et composante connexe :
Soient S un ensemble et p et q deux points. On dit que p est connecté à q s’il
existe un chemin de p à q utilisant uniquement des points de S. Fond
Cette relation est une relation d’équivalence.
Les classes d’équivalence forment ce qu’on
appelle des composantes connexes.
2.4 Fond et Trou :
Le fond est l’ensemble des points connectés au
bord de l’image.
Un trou est un ensemble de points appartenant
à S mais non connecté au bord de l’image.

Exercices
1- Comment déterminer la bordure ∂S d’un Bordure S Trou
ensemble S ?
2- Comment déterminer les trous ?

Notes de cours : Traitement d’images 71 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

2.5 Comptage et étiquetage des composantes connexes :


Problème : Soit une image binaire contenant plusieurs composantes connexes. On a
souvent besoin de les compter et d’effectuer des mesures dessus. On est donc amené à les
identifier, donc à donner une valeur différente à leur pixel. Cette opération s’appelle
« étiquetage » (« Labelling »)
Solution-1 : On suppose que chaque composante est marquée par un pixel dit
« marqueur ». Il suffit alors de :
- affecter une valeur différente à chaque
marqueur
- propager cette valeur à tous les voisins
jusqu’à l’idempotence.
Question : y-a-t-il un moyen pour déterminer les
marqueurs ?
Solution-2 : Cette solution ne suppose pas la
connaissance de marqueurs.
Algorithme :
- Parcourir l’image ligne par ligne
- A chaque transition « extérieur – intérieur » changer de couleur (de valeur) et la propager
à tous les points se trouvant sur la même
ligne
- Parcourir l’image une 2ème fois pour établir
des classes d’équivalence des couleurs
00000111110000022222203333330004444400
avec la relation « couleur voisine » (une 00000555555500666666600777000000088000
couleur est « voisine » à une autre s’il existe
deux pixels voisins ayant ces deux
couleurs)
- Parcourir une troisième fois pour affecter à
chaque classe d’équivalence la même
couleur.

3 - Description de la forme :
Objectif : Trouver des descripteurs pour représenter et décrire une forme.
Il existe deux catégories de descripteurs :
• Descripteurs linéiques : en suivant le contour
• Descripteurs surfaciques : en décomposant en élément de surface.
3.1 Le codage en chaîne (codage de Freeman) :
Un contour peut être représenté de trois manières différentes :
• Représentation raster :Image binaire où les pixels appartenant au contour sont
représentés par une valeur 1 (0 pour le fond)
• Représentation vectorielle : le contour est représenté par
une séquence de coordonnées (i,j) de points appartenant 1 3 2 1
au contour. 2 (i,j) 0 4 (i,j) 0
• Représentation par une chaîne de direction ou le codage 3 5 6 7
en chaîne : On enregistre le point de départ et on se
contente ensuite de représenter les directions empreintées. Pour cela, on peut choisir de
travailler en connexité-4 ou en connexité-8. Un code est affecté à chaque ditrection.
Exemple : (i0,j0)070076544345432210

Notes de cours : Traitement d’images 72 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Le codage en connexité-8 donne évidemment une chaîne plus longue que celle obtenue
dans le cas de la connexité-4.
Les points triples et les points aux angles posent des problèmes.

Point

3.2 Approximation polygonale :


On cherche à approximer un contour avec un minimum d’arêtes formant un polygone.
Mathématiquement le problème n’est pas trivial. Il demande beaucoup de calcul. En
traitement d’images, on se contente de techniques simples mais satisfaisantes.
Algorithme :
• Déterminer la corde la plus longue qu’on peut placer à l’intérieur d’un objet
• Abaisser la plus longue perpendiculaire de part et d’autre de la
corde
• On peut améliorer l’approximation en ajoutant les plus
longues perpendiculaires sur chaque côté du polygone.

3.3 Descripteur de Fourier :


Un contour est constitué d’une série de coordonnées (xi,yi). On considéré que ces
coordonnées sont les composantes d’un nombre complexe :
S i = x i + jy i
pour i =0Æ N-1 ( N étant le nombre de points)
La TF discrète est donnée par :
N −1
T[u ]= 1 ∑S[i].exp(−jΠui / N)
N i =0
Les T[u] sont appelés descripteurs de Fourier.
On peut restituer le contour en prenant la transformée de Fourier inverse. Si on sélectionne
un nombre restreint de descripteurs on peut approximer le contour.
3.4 L’arbre quaternaire :
L’arbre quaternaire est un outil de description surfacique.
Exemple :

Chaque sommet admet 4 fils : certains appartiennent à la forme, les autres appartiennent au
complémentaire.

Notes de cours : Traitement d’images 73 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

Cette structure est commode pour certains calculs. Le calcul de l’aire de la forme s’obtient
facilement en comptant le nombre de feuilles pondérées par leur profondeur dans l’arbre.
3.5 Le squelette :
Le squelette peut être considéré comme un descripteur par élément de surface. En effet :
Par définition le squelette est l’ensemble des centres des disques maximaux inscrits dans
l’ensemble.
Si en plus du squelette on mémorise les rayons des disques maximaux associés à chaque
point du squelette, on peut reconstituer l’objet.
4 - Mesures :
Les mesures sont multiples :
• Mesures géométriques de base
• Propriétés topologiques
4.1 Mesures géométriques de base :
• Le périmètre
• La surface
• Le nombre d’Euler-Poincarré
a- Périmètre :
Le périmètre d’un objet se calcule aisément à partir d’une description du contour en prenant
soin de multiplier par 2 les directions diagonales.
Si Np désigne le nombre des directions paires
Ni désigne le nombre des directions impaires
Alors le périmètre=(N p + 2.Ni)*unité _ pixel
b- Aire :
La surface/ aire d’un objet se calcule en comptant le nombre de pixels appartenant à l’objet
multiplié par la surface élémentaire associée à un pixel.
c- Nombre d’Euler-Poincarré :
Soient : C: Le nombre de composantes connexes
T: Le nombre de trous
Le nombre d’Euler-Poincarré est donné par : E = C – T
Exemple : La forme ci-contre admet une composante
connexe et trois trous. Le nombre d’Euler-Poincarré est égal
alors à –2

d- Propriétés topologiques :
Une propriété est dite topologique se elle est préservée lors de l’étirement de forme. Î A
titre d’exemple, la distance métrique n ‘est pas topologique. Le nombre d’Euler-Poincarré et
le nombre de connexité le sont.
4.2 Indices de forme :
Un moyen très utilisé pour caractériser une forme est d’inscrire
l’objet dans une forme de référence telle que un rectangle, un
cercle,…
a- La rectangularité :
La rectangularité d’un objet est définie comme étant le rapport
entre l’aire de l’objet et l’aire du plus petit rectangle exinscrit. Ce

Notes de cours : Traitement d’images 74 Hamrouni Kamel


ENIT : Ecole Nationale d’Ingénieurs de Tunis

facteur est nécessairement inférieur à 1.


En général, un indice de forme est une description chiffrée de la forme d’un objet binaire.
b- Autres indices de forme :
RUSS a défini une série d’indices de formes :
Soient :
X: un objet :
A(X) : l’aire de l’objet
P(X) : le périmètre de X
Dmin : le petit diamètre de l’ellipse exinscrite
Dmax : le grand diamètre de l’ellipse exinscrite
Alors on définit les indices de forme suivants :
4ΠA(X) 4A(X)
Facteur de forme = , Circularité = , Rapport d'aspect = Dmax
P(X)2 ΠDmax
2 Dmin
On peut aussi définir ce qu’on appelle le déficit qui mesure l’écart entre la forme de l’objet
ΠR 2
et une forme de référence. Ainsi pour un cercle inscrit le déficit est : IR(X)=1−
A(X)
4.3 Moments :
Les moments d’une image sont des descripteurs courants notamment en reconnaissance de
caractères.
Soit une image binaire f(x,y) telle que f(x,y) = 1 si (x,y) appartient à l’objet et 0 sinon.
Définition : Le moment d’ordre (p+q) de la fonction f(x,y) est :
m pq = ∑ ∑x p
. y q. f ( x , y )
x y

Le moment centré est défini par :


µ pq =∑∑(x−m10) p(y −m01)q f(x, y)
x y

Le moment centré normalisé est défini par :


µ pq
η pq = p+q
µ002
On démontre que ces moments normalisés ont des propriétés d’invariance en translation et
en rotation intéressantes. La détermination de ces moments est très coûteuse en nombre
d’opérations.
4.4 Enveloppe convexe :
Définition : Un ensemble X est convexe si toute droite reliant deux points quelconque de X
est entièrement incluse dans X.
Définition : L’enveloppe convexe d’un ensemble X est l’intersection de tous les ensembles
convexes contenant X
L’enveloppe convexe ne contient aucun trou.
Propriété : L’enveloppe convexe du dilaté de X par Y est égale à l’enveloppe convexe de X
dilaté par l’enveloppe convexe de Y.
Indice de forme basé sur l’enveloppe convexe appelé :
P(CO(X))
Indice de convexité =
P(X)

Notes de cours : Traitement d’images 75 Hamrouni Kamel