Vous êtes sur la page 1sur 351

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(image.jpg);
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 : www.crans.ens-cachan.fr/~genest/histogramme.pdf
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 : monkey.geog.ucsb.edu/mh/115b/filter.pdf
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('chine.png');
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('chine.png');
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