Cours de Traitement dImage
Master : 2ME
2013/2014
Mhamed SAYYOURI
Abdselam HMIMID
Pr: Hassan QJIDAA
Laboratoire dElectronique Signaux Systmes et DInformatique
(LESSI)
2ME - 2013/2014
Qu'est-ce qu'une image ?
Qu'est-ce quun traitement dimage ?
Rfrences
1- Rafael C. Gonzalez, Richard E. Woods Digital Image
Processing (2nd Edition) - Addison-Wesley.
2- Diane Lingrand, "Introduction au Traitement d'Images" 2nd
dition, Vuibert, Paris, France, feb 2008, ISBN : 2-7117-4866-9
Formation des images
Image = transformation dune scne
relle 3D par un capteur.
2ME - 2013/2014
Images naturelles et a rtificielles
Image naturelle Plusieurs moyens d'acquisition
camra, microscope, tomographie, infra-rouge, satellite,
Image artificielle Plusieurs outils de reprsentation
synthse d'images, ralit virtuelle, visualisation scientifique,
Image naturelle
Image artificielle
2ME - 2013/2014
Image artificielle
Formation des images
Le capteur est un semi conducteur qui
convertit la lumire en tension lectrique en
fonction du degr de luminosit
Le capteur constitu de matrice de cellules
sensibles appeles photodiodes qui effectuent
cette transformation tension-luminosit.
Pour acqurir des images en couleurs, les
photodiodes sont associes des filtres
rouges, verts et bleus (RVB), chacune de ces
couleurs tant chantillonnes sur 256
niveaux de luminosit (2563).
2ME - 2013/2014
Formation des images : les capteurs
On distingue :
les capteurs chimiques :systmes biologique (il)
les films photographiques
les capteurs photolectriques (photo-diodes,
CCD,..)
les appareils numriques
D'autres capteurs :
en imagerie mdicale : IRM, tomographie,
imagerie sismique
2ME - 2013/2014
Traitement dimages
amlioration des images pour linterprtation
par un observateur humain.
traitement de scnes en temps rel pour la
perception par des automates.
Traitements de bas niveau : donnes de
nature numrique.
Traitements de haut niveau : entits de nature
symbolique associes une reprsentation de
la ralit extraite de limage.
2ME - 2013/2014
Traitement dimage
2ME - 2013/2014
TI et les autres disciplines
Analyse
numrique
Thorie du
signal
Informatique
Statistique
Traitement
dimages
Electronique
Optique
Thorie des
systmes
2ME - 2013/2014
Thorie de
linformation
Neurophysiologie
psychophysique
Position du traitement dimages
Traitement
numrique des signaux
Traitement
dimages
Analyse de
scnes
Reconnaissance
de formes
2ME - 2013/2014
Intelligence
artificielle
Applications TI
2ME - 2013/2014
Systmes base de TI
2ME - 2013/2014
Systmes base de TI
Acquisition
Numrisation
Traitement
Stockage
Visualisation
2ME - 2013/2014
Les tapes du traitement
numrique dune image
3 tapes fondamentales :
Acquisition : scne physique reprsentation
numrique.
Traitement : Extraction de linformation
pertinente par segmentation
structurelle de limage.
description
Interprtation : description structurelle
description smantique.
2ME - 2013/2014
Difficults
Variations naturelles dans une mme
catgorie dobjet
Exemple : maison, chaise
Grande quantit de donnes traiter
Image faible rsolution N/B 128x128
16Ko
Image haute rsolution couleur 512x512x3 750Ko
Image camra numrique 2592x1944 pix
15,1Mo
Mouvement (30 im./s)
22.5 Mo
2ME - 2013/2014
Variations dans le processus de
formation de limage
clairage
Qualit du capteur
Qualit du systme
2ME - 2013/2014
Dfinitions
Une image est avant tout un signal 2D f(x,y)
Souvent, cette image reprsente une ralit 3D (x,y,z).
D'un point de vue mathmatique :
Une image est une matrice de nombres reprsentant un signal
Plusieurs outils permettent de manipuler ce signal.
D'un point de vue humain :
Une image contient plusieurs informations smantiques.
Il faut interprter le contenu au-del de la valeur des nombres.
2ME - 2013/2014
Profil d'intensit d'une image
Un profil dintensit dune ligne dans une image est
reprsent par des signaux 1D.
2ME - 2013/2014
Profil d'intensit d'une image
2ME - 2013/2014
Numrisation
La numrisation est la conversion du
signal lectrique continu (dans l espace
ou temps et en valeur) en un signal
numrique discret (image numrique).
2ME - 2013/2014
Image numrique
Les valeurs de f (x,y) sont la rponse du capteur au
phnomne observ
Les valeurs de f (x,y) sont des valeurs de voltage
continu
Les valeurs de f (x,y) doivent tre converties vers le
domaine numrique
Conversion Analogique/Numrique (A/N)
Deux procds sont impliqus pour numriser une
image :
Numrisation = chantillonnage + Quantification
2ME - 2013/2014
chantillonnage et quantification
L'chantillonnage est le procd de discrtisation spatiale
d'une image consistant associer chaque zone
rectangulaire R(x,y) d'une image continue une unique
valeur I(x,y).
On parle de sous chantillonnage lorsque l'image est
dj discrtise et qu'on diminue le nombre d'chantillons.
La quantification dsigne la limitation du nombre de
valeurs diffrentes que peut prendre I(x,y).
Une image numrique est une image chantillonne et
quantifie.
2ME - 2013/2014
Exemple: Chane de numrisation dun signal
temporel (1-D)
Signal continu (rfrence)
Signal chantillonn
tape 1
Codage (4 niveaux 2bits)
Signal quantifi (4 niveaux)
tape 2
tape 3
2ME - 2013/2014
Echantillonnage 2D
2ME - 2013/2014
chantillonnage et quantification
2ME - 2013/2014
Echantillonnage et quantification
Lchantillonnage est limit par la capacit du
capteur, donc le nombre de pixels disponible (ou autre
limite impose)
La quantification est limite par la quantit de tons
(de gris) dfinie dans lintervalle
2ME - 2013/2014
Echantillonnage et quantification
Avec un capteur matrice :
2ME - 2013/2014
Numrisation
2ME - 2013/2014
Echantillonnage et quantification
2ME - 2013/2014
Reprsentation des images
Matrice de dimension M X N
Chaque lment une valeur entire dans l'intervalle
[Lmin , Lmax]
Le nombre de bits requis pour reprsenter les
niveaux de gris dans lintervalle L est K
La relation entre K et L est :
L = 2K
Le nombre de bit pour entreposer un image est donc :
b=MXNXK
2ME - 2013/2014
Reprsentation des images
2ME - 2013/2014
Tessellation (pavage)
Cest la forme du pixel.
Le pavage est choisi pour couvrir au
mieux le plan image.
Le pavage est donc une partition du plan
image qui, une fois discrtis, rsulte en
un maillage qui reprsente la grille
dchantillonnage.
2ME - 2013/2014
2ME - 2013/2014
Voisinage dun pixel
Distance
distance de Manathan : d1(P,Q)=|xp- xq| + |yp- yq|
distance euclidienne : d2(P,Q)=[(xp- xq)2+ (yp- yq)2]1/2
distance de l'chiquier : dinf(P,Q)=Max(|xp- xq| , |yp- yq|)
dinf(P,Q) <= d2(P,Q) <= d1(P,Q)
Voisinage
Vk(P) = { Q : 0 <d(P,Q) <= k }
2ME - 2013/2014
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7
Rsolutions des images
Rsolution spatiale
Rsolution de tons de gris
Le plus petit dtail discernable
Le plus petit changement discernable
Une image a donc une rsolution spatiale de M X N pixel
et une rsolution de tons de gris de K bits ou de L
niveaux ou tons.
2ME - 2013/2014
Echantillonnage et rsolution
2ME - 2013/2014
Discrtisation de lamplitude
(quantification des niveaux de gris)
La valeur de f(i,j) est quantifie sur m bits
(lments binaires) et peut ainsi prendre 2 m
valeurs entires
0 f ( x , y ) 1 1 b it (im a g e s b in a ire s )
0 f ( x , y ) 2 5 5 8 b its (im a g e s e n n iv e a u x d e g ris )
0 f ( x, y ) 65635
16
b its (ra d io g ra p h ie s )
2ME - 2013/2014
Discrtisation de lamplitude
(quantification des niveaux de gris)
8 bits (256 niveaux)
6 bits (64 niveaux)
2ME - 2013/2014
1 bits (2 niveaux)
Quantification des niveaux de gris
2ME - 2013/2014
Quantification des niveaux de gris
2ME - 2013/2014
Rsolution spatiale
2ME - 2013/2014
Rsolution de tons de gris
2ME - 2013/2014
Bruit dans une image
Le bruit est induit par
le mdium d'acquisition
les conditions extrieures d'acquisition (luminosit, mouvement, etc.)
On peut rduire le bruit en chargeant plus longtemps le capteur CCD.
2ME - 2013/2014
Types d'images
Images en niveaux de gris
I(x,y) [0..255]
Images binaires
I(x,y) {0 , 1}
2ME - 2013/2014
Images couleurs
IR(x,y) IG(x,y) IB(x,y)
image niveaux de gris
Niveaux de gris - 8 bits:
0 - noir
255 - blanc
64
65
65
66
66
59
60
62
63
60
62
66
66
64
63
62
62
64
69
68
70
68
64
62
60
58
58
100
97
95
90
84
88
85
81
78
2ME - 2013/2014
149
145
142
135
129
130
127
122
118
151
148
146
140
134
128
125
120
117
176
175
176
172
168
166
163
160
159
182
183
185
184
181
185
183
181
180
179
181
184
184
182
180
178
176
176
image niveaux de gris
x =
58 59
y =
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
210
206
201
216
221
209
204
214
209
208
207
208
204
200
205
209
196
207
206
206
214
212
215
205
209
210
205
206
203
210
60
61
62
63
64
65
66
204
203
192
211
211
224
213
215
214
205
211
209
203
199
202
202
197
201
193
194
199
208
207
205
203
199
209
209
236
203
197
195
198
202
196
194
191
208
204
202
217
197
195
188
199
247
210
213
207
197
193
190
180
196
186
194
194
203
197
197
143
207
156
208
220
204
191
172
187
174
183
183
188
183
196
71
56
69
57
56
173
214
188
196
185
177
187
185
190
181
64
63
65
69
63
64
60
69
86
149
209
187
183
183
173
2ME - 2013/2014
67
68
69
70
71
72
80 84
58 53
57 55
60 55
60 55
60 59
62 66
72 55
62 66
71 63
90 62
239 58
221 75
196 122
186 105
54
53
52
77
46
51
76
49
87
55
64
68
61
63
62
54
61
53
49
97
62
51
56
57
55
52
61
58
58
57
57 58
62 51
60 50
62 61
58 106
56 48
49 55
52 56
60 48
45 56
93 52
51 56
60 60
64 66
64 63
Image couleur dans l'espace RVB
R=Red
G=Green
B=blue
2ME - 2013/2014
Image couleur dans l'espace RVB
1 010100000111000011
1110001110111100001
1 010100000111000011
1110001110111100001
1 010100000111000011
1110001111 111100001
2ME - 2013/2014
Image couleur dans l'espace RVB
2ME - 2013/2014
1- lire les images.
2- afficher chaque image.
1- la fonction imread permet de lire limage:
A=imread([Link]);
2- la fonction imshow permet dafficher limage:
imshow (a(:,:,1)); a(:,:,2); a(:,:,3);
2ME - 2013/2014
Traitements d' image
2ME - 2013/2014
Analyse spatiale
Le domaine spatial se rfre un ensemble de pixel
composant une image
Les mthodes d'analyse spatiale s'effectuent sur les
pixels de l'image
g(x,y) = T [ f(x,y) ]
f(x,y) ---> image d'entre
g(x,y) ---> image de sortie
T ---> oprateur sur f ou sur {fi}
2ME - 2013/2014
Traitements de base dune image
2ME - 2013/2014
Oprations ponctuelles
Dfinitions
Oprations ponctuelles linaires
Moyenne et contraste
Histogramme
Dcalage additif
Mise lchelle multiplicative
Inversion
Amlioration du contraste
Opration arithmtiques entre les images
Oprations de base
Rduction du bruit par la moyenne
2ME - 2013/2014
Moyenne dune image
Moyenne
Image en tons de gris
Image couleur
Une moyenne par canal
R
G
B
2ME - 2013/2014
Luminance ou brillance d'une image
La luminance (ou brillance) est dfinie comme la
moyenne de tous les pixels de l'image.
Dans les deux images suivantes, seule la luminance est
diffrente :
2ME - 2013/2014
Contraste dune image
Contraste
Peut tre dfini de plusieurs faons
cart type des variables de niveaux dintensit
Variation entre valeurs maximale et minimale de niveaux
dintensit (moins utile , plus rapide)
2ME - 2013/2014
Contraste d'une image
Les deux images suivantes possdent un contraste
diffrent :
2ME - 2013/2014
%%moyenne
%%contraste
2ME - 2013/2014
Histogramme des niveaux de gris
Nombre
de
pixels
Niveau de gris
L'histogramme reprsente la distribution des niveaux de
gris (ou de couleurs) dans une image
Le nombre de pixel tombant dans chaque intervalle est
ensuite affich en fonction de valeurs de niveaux de gris
2ME - 2013/2014
Exemple simple de calcul dhistogramme
Image A en
niveaux de gris
Matrice des valeurs de luminance
des pixels de limage A
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
2
2
0
1
1
1
1
0
2
2
0
1
0
1
0
0
2
2
0
1
0
1
0
0
2
2
0
1
1
1
1
0
2
2
0
0
0
0
0
0
2
Histogramme de
limage A
2
2
2
2
2
2
2
2
L'image A comporte 3 niveaux de gris diffrents : 0, 1 et 2.
Compter le nombre de pixels pour chaque niveau de gris,
laide de la matrice des valeurs de luminance.
Les niveaux 0, 1 et 2 sont respectivement reprsents par 24, 12 et 28
pixels reprsentation de cette population de pixels sur l'histogramme.
2ME - 2013/2014
Histogramme d'une image
PI(k)
k
PI(k)
PI(k)
Dynamique d'une image = [valeur_min,valeur_max]
2ME - 2013/2014
Caractrisation par lhistogramme
Image sous-expose
Image sur-expose
Image mal quantifie
2ME - 2013/2014
Histogramme des niveaux de gris
SCNE DE FAIBLE RADIANCE
SCNE DE FORTE RADIANCE
niveaux de gris
niveaux de gris
SCNE DE BAS CONTRASTE
SCNE DE HAUT CONTRASTE
niveaux de gris
niveaux de gris
2ME - 2013/2014
Histogramme
Types d'images et leurs histogrammes
2ME - 2013/2014
Traitement ponctuelle dune image
Recadrage de dynamique
Il sagit dune transformation du type f= t(f) qui
permet de modifier la dynamique des niveaux de
gris dans le but damliorer laspect visuel de
limage.
un niveau de gris f de limage originale
correspond le niveau t(f) dans limage transforme.
On fait subir chaque pixel un traitement ne
dpendant que de sa valeur
2ME - 2013/2014
Transformation de recadrage
On suppose une image de dpart prsentant un
histogramme concentr dans lintervalle
[min, max]. Les valeurs min, max correspondent
aux niveaux de gris extrmes prsents dans cette
image.
Le recadrage de dynamique consiste tendre la
dynamique de limage transforme ltendue
totale [0, 255]. La transformation de recadrage
est donc une application affine dfinie comme
suit:
2ME - 2013/2014
Transformation des niveaux de gris
255
gl'
gl ' m gl b
m
gl1'
min
gl1
max min
PIX MAX min
b
max
min
gl
PIX MAX
PIX MAX min
gl
max min
max min
PIX MAX
gl '
max
PIX MAX
gl '
pour PIX MAX 255 on obtient
gl '
max min
255
max min
2ME - 2013/2014
( gl min)
( gl min)
Transformation des niveaux de gris
Expression de la dynamique (recadrage)
Recadrage dhistogramme
2ME - 2013/2014
Amlioration du contraste
Transformation linaire
Transformation linaire avec saturation
Transformation linaire par bout avec saturation
galisation de lhistogramme
2ME - 2013/2014
Amlioration du contraste
Transformation linaire
f '( x, y )
f '( x, y )
PIX MAX
max min
( f ( x, y ) min)
( f ( x, y ) min)
max min
( f ( x, y ) min)
max min
0,1
2ME - 2013/2014
PIX MAX
Transformation linaire
GL
GL
min
max
min
2ME - 2013/2014
max
GL
255
Amlioration du contraste
Transformation
linaire avec saturation
f '( x, y )
f '( x, y )
PIX MAX
S max S min
( f ( x, y ) S min )
( f ( x, y ) S min )
S max S min
( f ( x, y ) S min )
S max S min
PIX MAX
0,1
min( f ( x, y )) S min S max
S min S max max( f ( x, y ))
2ME - 2013/2014
Transformation linaire par bout
avec saturation
GL
GL
Smin
min1 Smax
max 2
Smax1/Smin2
min
2ME - 2013/2014
max
GL
255
Fonction de rehaussement de contraste
Les types de correction donns ci-dessous permettent
daccentuer le contraste dans une plage prcise de
niveau.
Dilatation de la dynamique
des zones claires
Dilatation de la dynamique
des zones sombres
2ME - 2013/2014
Fonction de rehaussement de contraste
La transformation de rehaussement de contraste
est donc une application affine dfinie comme suit:
2ME - 2013/2014
2ME - 2013/2014
Correction de la dynamique de l'image
Image originale
Image restaure
Source : [Link]/~genest/[Link]
2ME - 2013/2014
Correction de la dynamique de l'image
Dans le cas o l'histogramme initial occupe toute la plage de
dynamique, aucun changement n'est visible.
2ME - 2013/2014
Egalisation de l'histogramme
Pour amliorer le contraste, on cherche aplanir lhistogramme
h ideal ( k )
h(k )
Etape 1 : Calcul de l'histogramme
Etape 2 : Normalisation de l'histogramme
(Nbp : nombre de points de l'histogramme)
Etape 3 : Densit de probabilit normalis
Etape 4 : Transformation des niveaux de gris de l'image
2ME - 2013/2014
galisation de lhistogramme
Le but est de rendre lhistogramme le plus plat possible
Distribution uniforme des niveaux de gris
Maximisation de lentropie de limage
Image donnant une information maximale
2ME - 2013/2014
Exemple 1
3500
3500
3000
3000
2500
2500
2000
2000
1500
1500
1000
1000
500
500
50
100
150
200
250
Image originale
50
100
150
200
Image plus contraste
2ME - 2013/2014
250
Exemple 2
2ME - 2013/2014
Exemple 3
L'galisation d'histogramme peut amliorer une image l o la
correction de dynamique de l'histogramme est inefficace.
2ME - 2013/2014
Exemple 4
Si on prend la mme image avec des contrastes diffrents,
lgalisation dhistogramme donne le mme rsultat pour
toutes les images.
2ME - 2013/2014
Egalisation locale dhistogramme
2ME - 2013/2014
Egalisation dune image couleur
1. Calculer lintensit de limage couleur
I = (R + V + B)/3
2. Calculer lhistogramme de I
3. Calculer lhistogramme cumul de I
4. Appliquer lgalisation de lhistogramme dans
chaque plan de limage couleur
2ME - 2013/2014
Exemple
2ME - 2013/2014
2ME - 2013/2014
Oprations ponctuelles linaires
Forme gnrale
g(x, y) P f (x, y) L
Il faut viter g ( x , y ) 0
et
O K-1= intensit maximale (souvent, 255)
2ME - 2013/2014
g(x, y) K 1
Dcalage additif
Contrle de la luminosit
Ici
P=1
et
( K 1) L K 1
g(x, y) f (x, y) L
L=100
L=-100
2ME - 2013/2014
Mise lchelle multiplicative
Ici L=0 et
P>0
g(x,y)=P . f(x,y)
Modifie la luminosit et le contraste
P=O.5
P=1.5
2ME - 2013/2014
Inversion
Ici P=-1 et L=255
g(x,y)= - g(x,y)+255
Inversion
2ME - 2013/2014
Oprations sur les images
image1
F(x,y)
image2
G(x,y)
2ME - 2013/2014
Addition dimages
Laddition pixel pixel de deux images F et G est dfinie
par :
A(x; y) = Min(F(x; y) + G(x; y); 255)
Laddition dimages peut permettre
de diminuer le bruit dune vue dans une srie
dimages
daugmenter la luminance en additionnant une
image avec elle-mme
2ME - 2013/2014
Exemple
0.5*F(x,y) + 0.5*G(x,y)
2ME - 2013/2014
Soustraction d'images
La soustraction pixel pixel de deux images F et G est
dfinie par :
S(x; y) = Max(F(x, y) - G(x,y); 0)
La soustraction dimages peut permettre
la dtection de dfauts
la dtection de mouvements
2ME - 2013/2014
Exemple 1
image 1 image 2
F(x,y) - G(x,y)
image 2 image 1
G(x,y) - F(x,y)
2ME - 2013/2014
Exemple 2
2ME - 2013/2014
Multiplication dimages
La multiplication dune image par un ratio (facteur) est
dfinie par :
M(x; y) = Max(F(x; y) x ratio; 255)
La multiplication dimages peut permettre damliorer le
contraste ou la luminosit
2ME - 2013/2014
Exemple
2ME - 2013/2014
2ME - 2013/2014
Relation entre les pixels
Pixels voisins d'un point (p)
0 1 1
4 horizontaux et verticaux
(x+1,y),(x-1,y),(x,y+1),(x,y-1)
1 1 0
4-voisins de p
N4(p)
0
1
1
4 diagonaux
(x+1,y+1),(x+1,y-1),(x-1,y+1),(x-1,y-1)
4-voisins diagonaux de p
ND(p)
Ces 8 pixels
8-voisins de p
N8(p)
Certains peuvent tre hors image!
2ME - 2013/2014
Adjacence, Connectivit, Rgions et conteurs
Adjacence
Soit V l'ensemble des valeurs de niveau gris
utilises pour dfinir ladjacence.
Dans une image binaire, V = {1}
Dans une image de gray-scale, l'ide est le mme,
V pourrait tre n'importe quel sous-ensemble de
ces 256 valeurs.
Nous considrons trois types dadjacence :
Adjacence-4
Adjacence-8
Adjacence mixte (m)
2ME - 2013/2014
Adjacence
Adjacence
Adjacence-4
p et q sont adjacent-4 si q est dans
N4(p)
Adjacence-8
p et q sont adjacent-8 si q est dans
N8(p)
2ME - 2013/2014
Adjacence
Adjacence-m (mixe)
p et q sont adjacent-m si
q est dans N4(p) ou
q est dans N8(p) et N4(p) N4(q) = 0
limine les ambiguts de l'adjacence-8
Adjacent-8
2ME - 2013/2014
Adjacent-m
Adjacence
Adjacence-6
Adjacence-4 + une diagonale
Adjacence-6 NO/SE
Adjacence-6 NE/SO
2ME - 2013/2014
Connectivit
2 pixels sont connexes si l'on trouve un chemin
d'adjacence entre eux
Concept essentiel en imagerie, surtout pour
dfinir les rgions et les contours
2ME - 2013/2014
Chemin
p et q de coordonnes (x,y) et (s,t)
Le chemin de p q est
(x0,y0), (x1,y1), , (xn,yn)
o (x0,y0)=(x,y) et (xn,yn)=(s,t)
n est la longueur du chemin
Si (x0,y0)=(xn,yn)
le chemin est ferm
2ME - 2013/2014
Chemin
Chemin -4, -8, et -m
Adjacent-8
2ME - 2013/2014
Adjacent-m
Rgions et contours (edges)
Une rgion est une zone de pixels connexes
Un contour est un chemin dfinissant une frontire
entre une zone connexe et ses voisines
Un contour peut tre ouvert ou ferm
S'il est ferm, il entour une rgion!
Si toute l'image fait partie de la rgion, les pixels
priphriques sont la limite.
2ME - 2013/2014
Distance entre pixels
Choisissons les pixels p, q et z avec coordonnes (x,y),
(s,t) et (v,w)
D est une distance ssi:
D(p,q) 0
(=0 si p=q)
D(p,q) = D(q,p)
D(p,z) D(p,q) + D(q,z)
Exp: Distance Euclidienne (De)
De(p,q) = [(x-s)2 + (y-t)2]1/2
Forme un disque de rayon constant centr sur (x,y)
2ME - 2013/2014
Distance entre pixels
City-block distance (D4)
D4(p,q) = |x-s| + |y-t|
Forme un diamant centr sur (x,y)
Exemple: D4 2
2
2 1 2
2 1 0 1 2
2 1 2
2
2ME - 2013/2014
Distance entre pixels
Distance chiquier (D8)
D8(p,q) = maximum (|x-s| , |y-t|)
Forme un carr centr sur (x,y)
Exemple: D8 2
2ME - 2013/2014
2
2
2
2
2
2
1
1
1
2
2
1
0
1
2
2
1
1
1
2
2
2
2
2
2
Distance entre pixels
Les distances D4 et D8 sont dpendantes des
coordonnes, pas du chemin
La distance Dm est dfinie comme le plus court
chemin-m
La valeur des pixels est importantes
p1
p
p3 p 4
p2
0
1
0
1
Dm (p,p4) = 2
2ME - 2013/2014
1
1
0
1
Dm (p,p4) = 3
Les sources de bruit
Bruits lis aux conditions de prise de vues
Ce sont des vnements vrifiant les conditions
dacquisition du signal
Le boug
Problmes lis lclairage de la scne observe
Bruits lis au capteur
Capteur mal rgl
Capteur de mauvaise qualit
2ME - 2013/2014
Les sources de bruit
Bruits lis lchantillonnage
Ces bruits refltent essentiellement des problmes de
quantification (CCD)
Prcision denviron 1/512
Problmes dans le cas dapplications de grande prcision
Bruits lis la nature de la scne
Nuage sur les images satellitaires
Poussires dans les scnes industrielles
Brouillard pour les scnes routires
2ME - 2013/2014
Les types de bruit
Diffrents types de bruit
Bruit additif ou multiplicatif
P(i) = b(i) + P(i)
P(i) = b(i) * P(i)
et
2ME - 2013/2014
Les types de bruit
Diffrents types de bruit
Comment est gnr b(i) ?
Loi gaussienne
Loi uniforme
Alatoire
Principaux types de bruit
Gaussien
Poivre et sel
2ME - 2013/2014
Rduction du bruit
Comment rduire le bruit ?
Dmarche gnrale :
Caractriser le bruit prsent dans limage
Choisir un algorithme appropri
Pour chaque pixel de limage
tudier la valeur du pixel
tudier les valeurs des voisins
Modifier la valeur du pixel
2ME - 2013/2014
Rduction du bruit
Rduction du bruit par moyennage
Soit n images dune mme scne, chaque image
peut sexprimer gi(x,y)=f(x,y)+bi(x,y)
f(x,y) est limage non bruite
2
b i ( x , y ) N ( 0 , ) est un bruit blanc non corrl
E { b i ( x , y ) b j ( x , y )} 0 p o u r i j
Limage moyenne
g (x, y)
1
n
2ME - 2013/2014
i 1
gi (x, y)
Rduction du bruit
limination du bruit par moyennage
Limage moyenne:
g (x, y)
1
n
(f ( x , y ) b i ( x , y ))
i 1
g (x, y) f (x, y)
1
n
(b i (x , y)
i 1
Signal inchang et un nouveau bruit
Moyenne du nouveau bruit nulle, comme avant
1
E
n
1
(bi (x , y)
n
i 1
n
E (b i (x , y)=0
i 1
2ME - 2013/2014
Rduction du bruit
Calcul de la variance du bruit
2
V a r ( X ) E ( X E X )
2
=E{X } Si E{X }=0
E{(
1
n
1
n
1
n
i 1
b i ( x , y )) }
E {b i ( x , y ) b j ( x , y ) }
Car bruit non corrl
i 1 j i
E { b i ( x , y ) b i ( x , y ) }
i 1
n
i 1
2
E{b i
( x , y )}
E {b i ( x , y ) b j ( x , y )
j i
n
2ME - 2013/2014
Transformation base sur le voisinage
dun point (x ,y): opration locale
transformation
(x,y)
Image originale
0 0 0 0 0000000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0 0 0 0000000
Image traite
2ME - 2013/2014
Transformation par convolution
Le produit de convolution est l'opration de voisinage
linaire et invariante par translation. Cette opration
fait donc appel aux outils disponibles pour respecter
la convolution:
multiplication du niveau de gris d'un point par
une constante.
addition des niveaux de gris des points d'une
image; dans le cas continu, cette addition des
niveaux se traduit sous forme d'une intgrale de
surface
2ME - 2013/2014
Transformation par convolution
Dfinition de la convolution dans l'espace continu
Pour deux images continues f et g, le produit de
convolution g = f h est dfini par :
Dfinition de la convolution dans l'espace discret
Pour deux images discrtes f et g. La convolution discrte est
un calcul linaire de voisinage:
2ME - 2013/2014
Convolution discrte
La convolution discrte est un outil permettant la
construction de filtres linaires ou de filtres de
dplacements invariants
L quation de convolution, note g(m,n), de la squence
f(m,n) avec une fonction h(m,n) est :
h(i,j) est appele masque de convolution, noyau de
convolution, filtre, fentre, kernel,
En pratique, la convolution numrique d'une image se fera
simplement par une sommation de multiplications.
2ME - 2013/2014
Transformation par convolution :
Exemple
x
DF + 1
2
g ( x, y)
m
DF -1
2
DF + 1
2
n y
f (m , n ) h ( x m , y n )
DF -1
2
Masque
w1 w2 w3
w4 w5 w6
w7 w8 w9
2ME - 2013/2014
DF ou
Dimension
Filtre : 3
Exemple de convolution 2D
2ME - 2013/2014
Convolution numrique
Noyau de convolution
Image
2ME - 2013/2014
Convolution numrique R = I*K
K
R(1,1) = I(0,0) K(0,0) + I(1,0) K(1,0) + I(2,0) K(2,0)
+ I(0,1) K(0,1) + I(1,1) K(1,1) + I(2,1) K(2,1)
+ I(0,2) K(0,2) + I(1,2) K(1,2) + I(2,2) K(2,2)
2ME - 2013/2014
Convolution numrique R = I*K
K
R(2,1) = I(1,0) K(0,0) + I(2,0) K(1,0) + I(3,0) K(2,0)
+ I(1,1) K(0,1) + I(2,1) K(1,1) + I(3,1) K(2,1)
+ I(1,2) K(0,2) + I(2,2) K(1,2) + I(3,2) K(2,2)
2ME - 2013/2014
Convolution numrique R = I*K
R(x,y) = I(x-1,y-1) K(0,0) + I(x, y-1) K(1,0) + I(x+1, y-1) K(2,0)
+ I(x-1,y)
K(0,1) + I(x,y)
K(1,1) + I(x+1,y)
K(2,1)
+ I(x-1,y+1) K(0,2) + I(x,y+1) K(1,2) + I(x+1,y+1) K(2,2)
2ME - 2013/2014
Convolution numrique R = I*K
R
K
R(N-2,M-2) = I(N-3,M-3) K(0,0) + I(N-2,M-3) K(0,1) + I(N-1,M-3) K(0,3)
+ I(N-3,M-2) K(1,0) + I(N-2,M-2) K(1,1) + I(N-1,M-2) K(1,2)
+ I(N-3,M-1) K(2,0) + I(N-2,M-1 )K(2,1) + I(N-1,M-1) K(2,2)
2ME - 2013/2014
Convolution numrique
Problme : Que faire avec les bords de l'image ?
Mettre zro (0)
Convolution partielle
Sur une portion du noyau
2ME - 2013/2014
Masque de convolution
Le masque de convolution est le plus souvent
Carr
De taille 3x3 ou 5x5 (ou plus, mais impair)
Ce masque reprsente un filtre linaire permettant de
modifier l'image.
La plupart du temps, on divisera le rsultat de la
convolution par la somme des coefficients du masque.
Pour viter de modifier l'entropie de l'image, la somme des
coefficients doit tre gale 1.
Dans le cas du Laplacien (plus loin), la somme sera gale zro.
2ME - 2013/2014
Typologie des Filtres
2ME - 2013/2014
Typologie des Filtres : suite
2ME - 2013/2014
Typologie des Filtres : suite
La mise en cascade de filtres (associativit de la convolution)
permet de gnrer des filtres de grande taille moindre cot
de calculs
2ME - 2013/2014
Le filtre moyenne
Le filtre moyenne
Permet de lisser l'image (smoothing)
Remplace chaque pixel par la valeur moyenne de ses voisins
Rduit le bruit
Rduit les dtails non-important
Brouille ou rend floue l'image (blur edges)
Filtre dont tous les coefficients sont gaux.
Exemple de filtres moyennes :
1
1/9
1/9
1/9
1/9
1/9
1/9 ou
1/9
1/9
1/9
1/9 1
3x3
2ME - 2013/2014
1/25
5x5
Filtre moyenneur
On affecte chaque pixel la valeur moyenne obtenue dans le
voisinage :
avec j les voisins de i
2ME - 2013/2014
Exemples de filtres moyennes
Original
Moyenne 5x5
Source : [Link]/mh/115b/[Link]
2ME - 2013/2014
Moyenne 11x11
Exemples de filtres moyennes
Filtre de moyenne
Image filtre
Image originale
2ME - 2013/2014
Le filtre Gaussien
Image d'une gaussienne
Fonction gaussienne en 3D
Le filtre gaussien donnera un meilleure lissage et une
meilleure rduction du bruit que le filtre moyenne.
2ME - 2013/2014
Filtre gaussien
2
(x y )
gauss ( x , y ) PSF ( x , y )
1
2
fonction gaussienne 2-D
w1 w2 w3
w4 w5 w6
w7 w8 w9
Dim X = Dim Y = 8 + 1
o 0 , 3
2ME - 2013/2014
Filtre gaussien
Filtre Gaussien
(1/16)*
(1/4)*
1
1
2
1
4
2
2
1
1
1
* (1/4)*
1
1
1 2 1
= (1/16)* 2 4 2
1 2 1
(1/4)* 2
1
* (1/4) 1
1 2
1 = (1/16)* 2 4
1 2
2ME - 2013/2014
Exemples de filtres gaussiens
Original
Gauss 5x5
2ME - 2013/2014
Gauss 11x11
Triangle de Pascal
Chaque lment est la somme des lments suprieur et suprieur
gauche
On choisit une ligne impaire
On convolue un filtre horizontal avec un filtre vertical
On obtient un filtre carr
On normalise par la somme de tous les lments du filtre
2ME - 2013/2014
Simulation
2ME - 2013/2014
Dcomposition dun filtre
Pour acclrer les traitements, il est possible de
dcomposer les filtres en sous-filtres quivalents quon
passe un aprs lautre.
1
1 2 1
2ME - 2013/2014
2
1
Filtre non linaire : Filtre Mdian
Mdiane dune suite de x i : non linaire, non analytique
Si n impair: x
tel quil ya autant de x i x que de x i x
On doit ordonner les x i , puis prendre llment du milieu
Plus coteux
Complexit
O(nlog n)
Plus robuste aux valeurs extrmes
Pour nettoyer le bruit dans une image, il existe mieux que le
filtre moyenneur ou le filtre gaussien : le filtre mdian.
2ME - 2013/2014
Filtre non linaire : Filtre Mdian
Exemple
10
10
20
20
30
30 55
200
20 20
20
10
10
15
20
20
15
15 10
10 30
30
mdiane
Valeurs dintensit
2ME - 2013/2014
30
30 200
Filtre Mdian
On affecte chaque pixel la valeur mdiane
obtenue dans le voisinage
On vite ainsi les valeurs extrmes
2ME - 2013/2014
Exemple de filtre mdian
Original
Moyenne 3x3
2ME - 2013/2014
Mdian 3x3
Exemple de filtre mdian
2ME - 2013/2014
Choix du filtre
Bruit gaussien : filtre moyenneur
poivre et sel : filtre mdian
2ME - 2013/2014
Nettoyage du bruit dans une image
Bruit "poivre et sel"
3 X 3 Moyenne
5 X 5 Moyenne
7 X 7 Moyenne
Filtre mdian
2ME - 2013/2014
Autres filtres
1
16 24 16
1/256 6
24 36 24
6 1/81 3
16 24 16
1/25 1
0
Filtre Gaussien ou binomial
Filtre pyramidal
Filtre Conique
Obtenu par la convolution de deux filtres de moyenne 3X3
2ME - 2013/2014
Filtrage frquentiel
Pour appliquer un filtre:
On veut multiplier le signal de limage par une fonction dans le
domaine frquentiel
Reviens convoluer dans le domaine spatial avec la
transforme de Fourier inverse du filtre
Limage est discrte: convolution discrte
On utilise donc un Kernel de convolution
2ME - 2013/2014
Filtrage frquentiel
Une image peut tre reprsente par un signal 2D
Sa transforme de Fourier donne donc lintensit
en fonction de la frquence.
On peut appliquer des filtres passe-bas et passehaut sur limage pour faire ressortir certaines
gammes de frquences.
2ME - 2013/2014
Filtrage frquentiel
La transform de Fourier prsente:
Moyenne lorigine (composante DC)
Les basses frquences - niveau de gris des surfaces
douces (smooth)
Les hautes frquences - les dtails, tels les arrtes et
le bruits (sharp)
Il est possible de crer des filtres ddis
l'attnuation de frquences spcifiques
Filtre passe-bande, passe-bas, passe-haut, Gaussien,
2ME - 2013/2014
Filtrage frquentiel
Dans une image, les basses frquences reprsentent les
zones lisses, qui varient peu
Les hautes frquences sont les zones trs variables:
textures, arrtes, coins
Un filtre passe-bas fait passer les basses frquences
limine les hautes frquences, diminue le bruit
Permet de lisser , dadoucir les artes
Un filtre passe-haut fait passer les hautes frquences
Met en vidence les artes, les contours, les ombres
Augmente le bruit dans limage
2ME - 2013/2014
Transforme de Fourier
Reprsentation frquentielle dune fonction
donne
F ( )
f (t ) e
f (t )
1
2
i 2 t
F ( ) e
i 2 t
Images = fonctions relles
dt
f ( t ) dt
2ME - 2013/2014
Ralisation optique de la TF
Le noyau de la transforme peut reprsenter
une onde plane monochromatique
2ME - 2013/2014
Quelques dfinitions
F ( ) R ( ) i I ( ) F ( ) e
TF est imaginaire
Spectre de Fourier
Phase
Spectre de Puissance (densit spectrale)
F ( ) R ( ) i I ( )
( ) tan
I ( )
P ( ) F ( ) e
i ( )
2ME - 2013/2014
i ( )
R ( ) I ( )
2
R ( )
F ( ) e
i ( )
F ( )
Rsultats rectangle 1D
2ME - 2013/2014
Rsultat rectangle 2D
2ME - 2013/2014
Proprits de la TF
Sparable
Proprits de translation
Priodicit et symtrie (conjugu)
Rotation
Distributivit
chelle
Valeur moyenne de lintensit
Drive
Laplacien
2ME - 2013/2014
Proprits de la TF suite
2ME - 2013/2014
Proprits de la TF suite
2ME - 2013/2014
Espace discret
Cas continu (image optique) peut sexprimer pour le cas discret
(image numrique). En 1D, on a
f ( x 0 ), f ( x 0 x ), f ( x 0 2 x ), f ( x 0 3 x ), , f ( x 0 ( M 1 ) x )
f (x)
f ( 0 ), f (1 ), f ( 2 ), f ( 3 ), , f ( M 1 )
M pas dchantillonnage uniformes x
Pour les images, on a des pas x et y pour une fonction
donne par
f ( x, y )
f ( 0 , 0 ),
f (1, 0 ), f ( 0 ,1 ), f ( 2 , 0 ), , f ( M 1, N 1 )
2ME - 2013/2014
TF discrte
F ( )
1
M
M 1
f (x) e
i 2x / M
0 ,1 , 2 , , M 1
x0
M 1
f (x)
F ( ) e
i 2x / M
x 0 ,1 , 2 , , M 1
On passe de lespace discret aux frquences
discrtes avec les pas dchantillonnage relis par:
1
M x
2ME - 2013/2014
TF discrte 2D
s o it M N
F ( , )
N
f ( x, y)
f ( x, y) e
i 2 ( x y ) / N
, 0 ,1, 2 , , N 1
x0 y0
N 1 N 1
1
N
N 1 N 1
F ( , ) e
i 2 ( x y ) / N
x , y 0 ,1, 2 , , N 1
0 0
Note: la normalisation a t rpartie sur la paire de
transforme
2ME - 2013/2014
Passe-bas idal 0|1
Coupe toutes les hautes frquences aprs une distance
D0 du centre
1 si D (u , v ) D 0
H (u , v)
0 si D (u , v ) D 0
Distance du centre (M/2, N/2)
M 2
N 2
D (u, v ) (u
) (v
)
2
2
2ME - 2013/2014
1/ 2
Passe-bas idal 0|1
D0 : frquence de coupure (cutoff)
3-D
2-D
2ME - 2013/2014
Section radiale
Exemple: Filtrage passe-bas
r=128
r=64
r=32
2ME - 2013/2014
r=16
r=8
Passe-bas idal
Effet de la frquence de coupure D0
valu en fonction de l'nergie comprise dans le
cercle de rayon D0
P (u, v ) F (u, v )
R (u, v ) I (u, v )
2
M 1 N 1
PT
P (u, v )
u0 v0
% p u is s a n c e 1 0 0
2ME - 2013/2014
P (u, v )
PT
(u,v) D0
Passe-haut idal
Coupe toutes les basses frquences aprs une distance
D0 du centre
1 s i D (u , v ) D 0
H (u , v )
0 s i D (u , v ) D 0
Distance du centre (M/2, N/2)
M 2
N 2
D (u, v ) (u
) (v
)
2
2
2ME - 2013/2014
1/ 2
Passe-haut idal
3-D
2-D
2ME - 2013/2014
Section radiale
Exemple : Filtrage passe-haut
r=128
r=8
r=16
2ME - 2013/2014
r=32
r=64
Filtrage passe-bande
Un filtre passe-bande est le complmentaire d'un
filtre passe-bas et d'un filtre passe-haut.
Un filtre passe-bande est un systme linaire
qui prserve une plage de frquences.
2ME - 2013/2014
Exemple : Filtrage passe-bande
On dfinit la bande de frquence que lon souhaite
conserver
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Au niveau des pixels
Exp: filtre 3X3 ( partir du filtre de moyenne)
0
1
(x, y) h (x, y)
0
9
0
Exp: filtre 5X5
0
9
0
0
1 1 1
1
1
1
0 1 1 1
1
9
9
0
1 1 1
1
1
1
25
1
24
2ME - 2013/2014
1
8
1
Filtres passe-haut: Dtection de contours
Oprations mathmatiques
Image originale
=
Image filtre passe-bas
2ME - 2013/2014
Hautes frquences
Filtres passe-haut: Dtection de contours
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
La dtection de contour
Deux approches :
1. Approche gradient : dtermination des
extrema locaux dans la direction du gradient.
2. Approche laplacien : dtermination des
passages par zro du laplacien.
2ME - 2013/2014
Filtres diffrentiels
Image
prof il dune
ligne
horizontale
(drive
premire)
seconde)
(b)
(a)
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Dtection de contours par gradient
Contour = gradient lev
Technique en 2 tapes :
Estimer le gradient (convolution)
Localiser les valeurs leves (seuillage)
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Dtection de contours par gradient: Convolution
Multiplication locale par un masque
I(x,y) = I(x,y) * M
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Estimation du Gradient
Soit un pixel f(x,y), le gradient y sera
Gx = f * Mx
Gy = f * My
La norme du gradient
La direction du gradient
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
f
x
Approximation du gradient (en x artes verticales)
lim
f (x x , y) f (x, y)
x 0
f
x
f (x, y) f (x x , y)
lim
lim
x 0
x 1
x 0
Masque de convolution
x 1
Diffrences
avant et
arrire
1 -1 ou
f (x x , y) f (x x , y)
-1
Diffrence centre
2 x
-1
Masque de convolution
Approximation du gradient (en y artes horizontales)
-1
Masque de convolution
ou -1
-1
2ME - 2013/2014
ou
0
1
ou
0
-1
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Filtre de Roberts
Roberts
Deux masques de taille 2x2 :
2ME - 2013/2014
et
Filtres de Sobel
Sobel
Le passe-haut intensifie le bruit; on fait donc un
passe-bas pour le diminuer.
Composition dun filtre gaussien et dun gradient
2
0
2
2ME - 2013/2014
et
0
0
0
Filtres de Sobel
Sobel
Deux masques de taille 3x3 :
2ME - 2013/2014
2
0
2
et
0
0
0
Drive premire (gradient)
| Gx | + | Gy |
-1
-1
0
-2
1
-1
-2
0
00
20
2ME - 2013/2014
-1
1
02 || G
Gyx ||
11
2ME - 2013/2014
Filtres de Robert , Prewitt et Sobel
(a)
z 1 z2 z3
z4 z5 z6
z 7 z8 z9
o zx : valeur du
niveau de gris
(b)
(c)
(d)Prewitt
Roberts
Sobel cross-gradient
operators
operators
-1 -1
-2 -1
f f f ((zz7 7 2zz8 8 zz9 9))
0 0
1 0
( z5 z9 )
yy y ((zz1 1 2zz2 2 zz3 3))
1 2
0 -1
1
1
-1 0 1
f f f ((zz3 3 2zz6 6 zz9 9))
-1 0 1
-2
2
( z z8 )
zz7 7))
xx x ((zz1 1 6 2zz4 4
-1 -1
0 1
0
f
f
f Gx G y
x
y
2ME - 2013/2014
2ME - 2013/2014
Amlioration des artes et des contours
f
f
*
ou
25
x
y
(a) image originale
(b) image obtenue
partir des valeurs
de magnitude du
gradient [masques
de Prewitt]
(c) image originale
dont les pixels ayant
1 gradient > 25*
ont t mis 255
f
f
*
et
25 (d) idem c [sauf pour
x
y
les pixels dont les
2 gradients 25*
qui ont t mis 0
- image binaire]
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Filtre de Laplacien
Laplacien
Drive seconde
Diffrence centre
f (x, y)
x
'
'
f ( x 1, y ) f ( x , y )
= [ f ( x + 1 ,y ) -f ( x ,y ) ] -[ f ( x ,y ) -f ( x -1 ,y ) ]
= f ( x + 1 ,y ) -2 f ( x ,y ) + f ( x -1 ,y )
Noyau de convolution
2ME - 2013/2014
Filtre de Laplacien
Laplacien (suite)
Hautes frquences dans toutes les directions
Autres formes
0
1
4
1
Ou
2ME - 2013/2014
1
0
1 2 1
1
0
1
1
8
1
1
4
1
Filtre de Laplacien
Laplacien (suite)
1
4
1
Drive seconde du signal image
Localisation des contours par le passage par 0
Diffrents masques :
1
2ME - 2013/2014
1
8
1
Filtre de Kirsch
Kirsch
8 masques, dans chaque direction (45)
2ME - 2013/2014
Filtre de Kirsch
2ME - 2013/2014
Filtre de Marr-Hildreth
Marr-Hildreth
Le Laplacien augmente encore plus le bruit
On filtre limage avec une gaussienne
On prend le Laplacien de limage filtre
On peut donc filtrer directement avec le laplacien
dune gaussienne!
g=(f*N)*L=f*(N*L)
2ME - 2013/2014
Filtre de Marr-Hildreth
Marr-Hildreth
-1
-2
-1
-1
-1
-2
-2
-1
-1
-1
-2
-1
-1
-3
-4
-3
-1
-3
-3
-4
20
-4
-3
-3
-1
-3
-4
-3
-1
2ME - 2013/2014
Marr-Hildreth versus Sobel
Plus rapide
Une seule convolution pour toutes les
directions
Pas de somme de valeurs absolues ou de
racine
Moins robuste (plus sensible au bruit)
Non directionnel
Donne des contours plus ferms
2ME - 2013/2014
Dtection de contours :Filtres passe-haut
Filtres passe-haut
Sobel
Marr-Hildreth
Canny
2ME - 2013/2014
Filtres passe-haut
On utilise un filtre passe-haut et on compare la
force du contour avec un seuil
Image originale
Sobel
2ME - 2013/2014
Laplacien
Filtre de Sobel
On applique le filtre horizontal, puis
vertical
On somme les valeurs absolues, ou
racine carre des carres des valeurs
Seuillage: si la valeur est assez leve,
la drive est forte et il ya un contour
2ME - 2013/2014
Filtre de Marr-Hildreth
On applique le filtre de Marr-Hildreth
On dtecte les PPZ (Passages Par Zro)
Seuillage particulier, sur un Kernel (souvent 3X3)
Sil ya changement de signe entre la valeur centrale et un des huit
voisins, alors il ya PPZ
Pour viter certaines anomalies: Band-crossing
Changer de signe nest plus suffisant, il faut passer de
2ME - 2013/2014
Code Matlab
2ME - 2013/2014
Seuillage
Diffrents types de seuillage
si ndg > sh alors ndg = 255
si ndg < sb alors ndg = 0
si ndg < s alors ndg = 0 sinon ndg = 255
Binarisation
2ME - 2013/2014
Binarisation
Rduction du nombre de couleurs 2 (N & B)
2ME - 2013/2014
Binarisation
Comment trouver le bon seuil ?
Localisation des modes de lhistogramme
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Problme avec un espace (a,b)
2ME - 2013/2014
Exemple
une image binaire comportant 6 x 6 pixels dont les
valeurs sont donnes dans le tableau suivant
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
SEGMENTATION DES IMAGES
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Segmentation rgions/contours
Segmentation
Recherche de frontires
(approches contours )
2ME - 2013/2014
Recherche de rgions
(approches rgions )
2ME - 2013/2014
Formulation dune rgion
Image = Rgion R
n
R Ri
i 1
R i est connexe
Ri R
pour i j
P ( R i ) Vrai
P ( R i R j ) Faux
pour i j
2ME - 2013/2014
le seuillage permet de slectionner
les parties de l'image qui intressent
l'oprateur. Pour slectionner des
objets, il faut donc choisir des limites
entre lesquelles les pixels devront
tre pris en compte.
2ME - 2013/2014
2ME - 2013/2014
Seuillage
T T
Seuillage global
T T ( x , y ), p ( x , y ), f
T T p ( x , y ), f
Seuillage local
T T ( x , y )
Seuillage dynamique
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Exemple de seuillage
Exemple dimage en 256 niveaux de gris :
Image initial
Seuillage 75
Seuil 75 Seuil 125
Histogramme de limage
2ME - 2013/2014
Seuillage 125
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Lalgorithme k-moyenne est lalgorithme de
clustering le plus connu et le plus utilis, du fait de
sa simplicit de mise en uvre. Il partitionne les
donnes dune image en K clusters.
Le k-moyenne est un algorithme itratif qui
minimise la somme des distances entre chaque
objet et le centrode de son cluster.
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
K-moyennes
Nombre de class k
Dtermination
des centroides
Calcul de la
distance minimale
Description de l'algorithme
Oui
Aucun donne a
chang de groupe?
Regroupement
2ME - 2013/2014
Non
Fin
2ME - 2013/2014
Exemple
Image originale
k-moyenne avec k=4
k-moyenne avec k=3
2ME - 2013/2014
K-mean pour limage couleur
2ME - 2013/2014
Exemple
Image originale
Image segment avec k=3
2ME - 2013/2014
Image segment avec k=6
2ME - 2013/2014
2ME - 2013/2014
La segmentation par division-fusion regroupe les
deux types dapproches. Tout dabord, limage est
divise en rgions homognes, puis les rgions
adjacentes qui rpondent des critres de fusion sont
fusionnes.
Phase 1 : Crer les zones homognes = DIVISION (split)
Phase 2 : Les regrouper = FUSION (merge)
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Exemples de division-fusion
Image originale
Image segmente
s=200 et min=2
2ME - 2013/2014
Image segmente
s=250 et min=2
Exemples de division-fusion
2ME - 2013/2014
Segmentation en rgion
Croissance de rgions
partir de pixels-germes (gnralement slectionns
partir de lhistogramme), on fait crotre les rgions
en agglomrant les pixels ou rgions connexes tels
que lunion vrifie le prdicat dhomognit
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Ligne de partage des eaux
La ligne de partage des eaux se dfini comme tant un
algorithme de morphologie mathmatique qui revient
dcomposer une image en diverses rgions homognes.
2ME - 2013/2014
Ligne de partage des eaux
Minimum local: Plateau ou point minimal d'un
bassin versant.
Bassin versant: Zone d'influence d'un minimum
local. Toute goutte d'eau comprise dans cette rgion se
dirige vers le minimum local.
Ligne de partage des eaux: Ligne qui spare deux
bassins versant qui, par le fait mme, spare deux
minimums locaux.
2ME - 2013/2014
Ligne de partage des eaux
Technique de limmersion
On perce chaque minimum local de la surface.
On inonde la surface partir des minima locaux, leau
montant vitesse constante et uniforme dans les bassins
versants.
Quand les eaux issues de 2 minima diffrents se rencontrent,
on monte une digue pour quelles ne se mlangent pas.
A la fin de limmersion, lensemble des digues constituent la
ligne de partage des eaux.
2ME - 2013/2014
Ligne de partage des eaux
2ME - 2013/2014
Algorithme LPE
L'algorithme se compose de deux tapes:
Gnrer une carte d'lvation partir de
l'image de dpart
Remplir progressivement les bassins
2ME - 2013/2014
Carte d'lvation (elevation map)
La carte d'lvation est une image dont les valeurs reprsentent une
altitude. Pour construire cette image nous allons partir du gradient
de l'image.
Dans la carte d'lvation, on assigne l'altitude la plus leve
(HMAX) aux pixels ayant un fort gradient ainsi qu'aux bords de
l'image. Cela nous donne les lignes de crte.
La valeur d'altitude des autres pixels est calcule en fonction de
l'loignement de la ligne de crte : plus on s'loigne de la ligne de
crte, plus l'altitude doit dcrotre. La formule pour calculer la
valeur d'altitude d'un pixel est donc :
Altitude(Pixel) = HMAX - distance(Pixel, ligne de_crte)
2ME - 2013/2014
Remplissage des bassins par infiltration (flooding)
Pour NIVEAU de 0 HMAX /
*** Action 1 : Etendre les rgions existantes ***/
Pour chaque Rgion [R] dans la liste [Rgions]
Faire crotre [R] jusqu' l'altitude NIVEAU
Fin Pour
/*** Action 2 : crer les nouvelles rgions ***/
Pour chaque pixel P l'altitude NIVEAU
Si P n'est pas associ une rgion Alors
Crer une nouvelle rgion [R] dans la liste [Rgions]
A jouter le pixel P dans la rgion [R]
Faire crotre [R] jusqu' l'altitude NIVEAU
Fin Si
Fin Pour
Fin Pour
2ME - 2013/2014
Ligne de partage des eaux
image originale
LPE
image gradient
image segmente
2ME - 2013/2014
Ligne de partage des eaux
Segmentation par LPE contrainte par marqueurs
LPE non contrainte
LPE contrainte
2ME - 2013/2014
Ligne de partage des eaux
image originale
image gradient
image modifie de gradient
rsultats amliors de segmentation
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Oprations locales
Fermeture de contours
Problme des contours ouverts
Seuillage
2ME - 2013/2014
fermeture
Morphologie mathmatique
2ME - 2013/2014
Amlioration des images par filtrage
morphologique
Morphologie mathmatique
Oprations morphologiques
Oprations morphologiques sur les images
Lissage morphologique
Rehaussement morphologique
2ME - 2013/2014
Morphologie mathmatique
Permet lextraction de composantes dimage utilises
pour reprsenter des formes
Une forme peut tre caractrise par son contour,
son squelette ou son enveloppe convexe
Nous pouvons aussi utiliser des techniques morphologiques pour le filtrage et la transformation de
formes
La morphologie mathmatique est base sur la
thorie des ensembles
2ME - 2013/2014
Morphologie mathmatique
Les ensembles en morphologie mathmatique
reprsentent les objets (formes) dans les images
Lensemble des pixels noirs dans une image binaire
sont regroup dans un espace 2-D entier Z2 o
chaque lment (pixel) est la coordonne (x,y)
Les images en niveaux de gris peuvent tre
reprsentes par des ensembles dans un espace Z3
dont deux composantes font rfrence aux
coordonnes de chaque pixel et une troisime sa
valeur de niveau de gris
2ME - 2013/2014
Oprations morphologiques
Dfinitions de base
Dilatation
rosion
Ouverture (rosion suivie dune dilatation)
Fermeture (dilatation suivie dune rosion)
2ME - 2013/2014
Dfinitions de base
A et B sont des ensembles dans Z2
Avec des lments reprsents par (a1,a2) et (b1,b2)
Translation: Translation de A par x = (x1,x2)
( A) x c c a x,
pour
a A
Rflexion: Rflexion de B
x x b,
B
pour
2ME - 2013/2014
b B
Dfinitions de base
oprations lmentaires
2ME - 2013/2014
Dilatation
Dilatation de A par un oprateur Morphologique B
) A
A B x (B
x
2ME - 2013/2014
Dilatation
2ME - 2013/2014
rosion
rosion de A par un oprateur morphologique B
AB x ( B) x A
2ME - 2013/2014
rosion
2ME - 2013/2014
Ouverture (rosion + dilatation)
Lissage des contours des formes
limination des pics et des bosses
Brise les sections minces
A B ( AB) B
2ME - 2013/2014
Ouverture(rosion suivie dune dilatation)
2ME - 2013/2014
Fermeture (dilatation + rosion)
Lissage des contours des formes
Remplissage des trous et vides
A B ( A B)B
2ME - 2013/2014
Fermeture(dilatation suivie dune rosion)
2ME - 2013/2014
Oprations morphologiques
sur les images
Dilatation
rosion
Ouverture
Fermeture
2ME - 2013/2014
Dilatation
Dilatation dune image f par b
Image plus brillante
Partie fonce sont rehausses (niveau de
brillance plus leve)
( f B)( s, t ) max f ( s x, t y ) b( x, y ) (s x),(t y ) D f ;( x, y ) Db
2ME - 2013/2014
Dilatation
2ME - 2013/2014
rosion
rosion dune image f par b
Image plus fonce
Parties brillantes sont attnues (niveau de
brillance plus faible)
( f B)( s, t ) min f ( s x, t y) b( x, y) ( s x),(t y ) D f ;( x, y) Db
2ME - 2013/2014
rosion
2ME - 2013/2014
Dilatation et rosion dune image
niveaux de gris (exemples)
2ME - 2013/2014
Ouverture
Ouverture dune image f par b
limination des pics brillants plus petits que b
Dtails importants sont conservs (plus grand que b)
Lrosion limine les petits pics (bruit) et rend limage
plus fonce
La dilatation redonne le niveau de brillance moyen
f B ( fb) b
2ME - 2013/2014
Ouverture
2ME - 2013/2014
Fermeture
Fermeture dune image f par b
limination des zones sombres plus petites que b
Dtails importants sont conserv(plus grand que b)
La dilatation limine les zones sombres et rend
limage plus brillante
Lrosion redonne le niveau de brillance moyen
f B ( f b)b
2ME - 2013/2014
Fermeture
2ME - 2013/2014
Ouverture et fermeture dune image
niveaux de gris (exemples)
2ME - 2013/2014
Lissage morphologique dimage
Lissage dimages
limination des pics brillants plus petit que b
limination des zones sombres plus petites que b
((( fb) b) b)b)
Ouverture
2ME - 2013/2014
Fermeture
Rehaussement morphologique
dimage
Rehaussement dimages
Bas sur le calcul du gradient morphologique
g ( f b) ( fb)
2ME - 2013/2014
Lissage et rehaussement
morphologiques
2ME - 2013/2014
Rsum
Amlioration des images par filtrage
morphologique
Morphologie mathmatique
Oprations morphologiques
Oprations morphologiques sur les images
Lissage et rehaussement morphologiques
2ME - 2013/2014
Code Matlab
I = imread('[Link]');
seuil = graythresh(I) % recherche du seuil avec la mthode d'Otsu
Ib = im2bw(I,seuil); % binarisation
figure(1)
imshow(Ib)
Ibi =~ Ib;
figure(2)
imshow(Ibi)
%Pour roder limage binaire Ibi et afficher le rsultat :
SE = [0 1 0;1 1 1;0 1 0] % lment structurant
Ier = imerode(Ibi,SE) ;
figure(3)
imshow(Ier)
%Pour dilater limage binaire Ibi et afficher le rsultat :
Idi = imdilate(Ibi,SE) ;
figure(4)
imshow(Idi)
2ME - 2013/2014
Code Matlab
I = imread('[Link]');
L = graythresh(I)
I = ~im2bw(I,L);
SE = strel('disk', 6)
Ifer = imclose(I,SE);
Im = imopen(Ifer,SE);
subplot(1,3,1)
subimage(I),title('image originale');
subplot(1,3,2)
subimage(Ifer),title('image ferme');
subplot(1,3,3)
subimage(Im),title('image ouverte');
2ME - 2013/2014