Download - Cours Image Master
-
Mhamed SAYYOURI
Abdselam HMIMIDPr: Hassan QJIDAA
Cours de Traitement dImage
Laboratoire dElectronique Signaux Systmes et DInformatique
(LESSI)
Master : 2ME2013/2014
2ME - 2013/2014
-
Qu'est-ce qu'une image ?
Qu'est-ce quun traitement dimage ?
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
Rfrences
-
2ME - 2013/2014
Image = transformation dune scne relle 3D par un capteur.
Formation des images
-
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 Image artificielle
2ME - 2013/2014
-
Formation des images Le capteur est un semi conducteur qui
convertit la lumire en tension lectrique enfonction du degr de luminosit
Le capteur constitu de matrice de cellulessensibles appeles photodiodes qui effectuentcette transformation tension-luminosit.
Pour acqurir des images en couleurs, lesphotodiodes sont associes des filtresrouges, verts et bleus (RVB), chacune de cescouleurs tant chantillonnes sur 256niveaux 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
-
2ME - 2013/2014
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.
Traitement dimages
-
Traitement dimage
2ME - 2013/2014
-
TI et les autres disciplines
Traitementdimages
Informatique
OptiqueThorie des
systmes
Analyse numrique
Thorie delinformation
Statistique
Neurophysiologiepsychophysique
Thorie dusignal
Electronique
2ME - 2013/2014
-
Position du traitement dimages
Traitementnumrique des signaux
Intelligenceartificielle
Traitementdimages
Reconnaissancede formes
Analyse de scnes
2ME - 2013/2014
-
2ME - 2013/2014
Applications TI
-
Systmes base de TI
2ME - 2013/2014
-
Acquisition
Numrisation
Traitement
VisualisationStockage
2ME - 2013/2014
Systmes base de TI
-
Les tapes du traitement numrique dune image
3 tapes fondamentales :
Acquisition : scne physique reprsentationnumrique.
Traitement : Extraction de linformation
pertinente par segmentation descriptionstructurelle de limage.
Interprtation : description structurelle description smantique.
2ME - 2013/2014
-
Difficults
2ME - 2013/2014
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
-
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.
Dfinitions
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
-
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 estdj 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.
chantillonnage et quantification
2ME - 2013/2014
-
Exemple: Chane de numrisation dun signal
temporel (1-D)
Signal continu (rfrence)
tape 1
Signal chantillonn
Signal quantifi (4 niveaux)
tape 3
tape 2
Codage (4 niveaux 2bits)
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 = M X N X K
2ME - 2013/2014
-
Reprsentation des images
2ME - 2013/2014
-
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 enun maillage qui reprsente la grilledchantillonnage.
Tessellation (pavage)
2ME - 2013/2014
-
2ME - 2013/2014
-
0 2 3 4 5 6 71012
43
56
Distance
Voisinage
Vk(P) = { Q : 0
-
Rsolutions des images
Rsolution spatiale
Le plus petit dtail discernable
Rsolution de tons de gris
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 Lniveaux 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 valeurs entires
0 ( , ) 2 5 5 8 b its (im ag es en n iveau x d e g ris )f x y
0 ( , ) 1 1 b it (im ages b inaires)f x y
0 ( , ) 6 5 6 3 5 1 6 (rad io g rap h ies)f x y b its
2m
2ME - 2013/2014
-
8 bits (256 niveaux) 6 bits (64 niveaux) 1 bits (2 niveaux)
Discrtisation de lamplitude(quantification des niveaux de gris)
2ME - 2013/2014
-
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
-
Images en niveaux de gris
I(x,y) [0..255]Images binaires
I(x,y) {0 , 1}
Images couleurs
IR(x,y) IG(x,y) IB(x,y)
Types d'images
2ME - 2013/2014
-
image niveaux de gris
64 60 69 100 149 151 176 182 179
65 62 68 97 145 148 175 183 181
65 66 70 95 142 146 176 185 184
66 66 68 90 135 140 172 184 184
66 64 64 84 129 134 168 181 182
59 63 62 88 130 128 166 185 180
60 62 60 85 127 125 163 183 178
62 62 58 81 122 120 160 181 176
63 64 58 78 118 117 159 180 176
Niveaux de gris - 8 bits:0 - noir255 - blanc
2ME - 2013/2014
-
210 209 204 202 197 247 143 71 64 80 84 54 54 57 58
206 196 203 197 195 210 207 56 63 58 53 53 61 62 51
201 207 192 201 198 213 156 69 65 57 55 52 53 60 50
216 206 211 193 202 207 208 57 69 60 55 77 49 62 61
221 206 211 194 196 197 220 56 63 60 55 46 97 58 106
209 214 224 199 194 193 204 173 64 60 59 51 62 56 48
204 212 213 208 191 190 191 214 60 62 66 76 51 49 55
214 215 215 207 208 180 172 188 69 72 55 49 56 52 56
209 205 214 205 204 196 187 196 86 62 66 87 57 60 48
208 209 205 203 202 186 174 185 149 71 63 55 55 45 56
207 210 211 199 217 194 183 177 209 90 62 64 52 93 52
208 205 209 209 197 194 183 187 187 239 58 68 61 51 56
204 206 203 209 195 203 188 185 183 221 75 61 58 60 60
200 203 199 236 188 197 183 190 183 196 122 63 58 64 66
205 210 202 203 199 197 196 181 173 186 105 62 57 64 63
x =
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
y =
image niveaux de gris
2ME - 2013/2014
-
Image couleur dans l'espace RVB
R G B
R=RedG=GreenB=blue
2ME - 2013/2014
-
1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1
1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1
1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1
1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1
1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1
1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1
Image couleur dans l'espace RVB
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 Moyenne et contraste
Histogramme
Oprations ponctuelles linaires 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
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)
Contraste dune image
2ME - 2013/2014
-
Contraste d'une image
Les deux images suivantes possdent un contraste diffrent :
2ME - 2013/2014
-
%%moyenne
%%contraste
2ME - 2013/2014
-
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
Nombre de pixels
Niveau de gris
Histogramme des niveaux de gris
2ME - 2013/2014
-
Image A en
niveaux de gris
Matrice des valeurs de luminance
des pixels de limage A Histogramme 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 0 1 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 0 0 0 0 0 2
2 2 2 2 2 2 2 2
Les niveaux 0, 1 et 2 sont respectivement reprsents par 24, 12 et 28pixels reprsentation de cette population de pixels sur l'histogramme.
Exemple simple de calcul dhistogramme
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.
2ME - 2013/2014
-
Histogramme d'une image
PI(k)
k
PI(k)
k
PI(k)
k
Dynamique d'une image = [valeur_min,valeur_max]
2ME - 2013/2014
-
Caractrisation par lhistogramme
Image sous-expose
Image sur-expose
Image mal quantifie2ME - 2013/2014
-
Histogramme des niveaux de gris
SCNE DE FAIBLE RADIANCE
niveaux de gris
% %
niveaux de gris
SCNE DE FORTE RADIANCE
niveaux de gris
%
SCNE DE BAS CONTRASTE
niveaux de gris
%
SCNE DE HAUT CONTRASTE
2ME - 2013/2014
-
Histogramme
Types d'images et leurs histogrammes
2ME - 2013/2014
-
2ME - 2013/2014
Il sagit dune transformation du type f= t(f) quipermet de modifier la dynamique des niveaux degris dans le but damliorer laspect visuel delimage. un niveau de gris f de limage originale
correspond le niveau t(f) dans limage transforme.On fait subir chaque pixel un traitement nedpendant que de sa valeur
Traitement ponctuelle dune image
Recadrage de dynamique
-
2ME - 2013/2014
Transformation de recadrage
On suppose une image de dpart prsentant unhistogramme concentr dans lintervalle[min, max]. Les valeurs min, max correspondentaux niveaux de gris extrmes prsents dans cetteimage.Le recadrage de dynamique consiste tendre ladynamique de limage transforme ltenduetotale [0, 255]. La transformation de recadrageest donc une application affine dfinie commesuit:
-
Transformation des niveaux de gris
gl'
gl
min max
255
0
'
max min
min
max min
min'
max min max min
' ( min)max min
MAX
MAX
MAX MAX
MAX
gl m gl b
PIXm
PIXb
PIX PIXgl gl
PIXgl gl
gl1
gl1'
255 255 ' ( min)
max minMAX
pour PIX on obtient gl gl
2ME - 2013/2014
-
Transformation des niveaux de gris Expression de la dynamique (recadrage)
2ME - 2013/2014
Recadrage dhistogramme
-
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
'( , ) ( ( , ) min)max min
( ( , ) min)'( , )
max min
( ( , ) min)0,1
max min
MAX
MAX
PIXf x y f x y
f x yf x y PIX
f x y
2ME - 2013/2014
-
Transformation linaire
%
GLGL
GL
0 255
min max
min max
2ME - 2013/2014
-
Amlioration du contraste
Transformation linaire avec saturation
min
max min
min
max min
min
max min
min max
min max
'( , ) ( ( , ) )
( ( , ) )'( , )
( ( , ) )0,1
min( ( , ))
max( ( , ))
MAX
MAX
PIXf x y f x y S
S S
f x y Sf x y PIX
S S
f x y S
S S
f x y S S
S S f x y
2ME - 2013/2014
-
Transformation linaire par bout avec saturation
%
GLGLmin max
GL
0 255min maxSmin1 Smax2
Smax1/Smin2
2ME - 2013/2014
-
2ME - 2013/2014
Les types de correction donns ci-dessous permettent daccentuer le contraste dans une plage prcise de niveau.
Dilatation de la dynamique des zones sombres
Dilatation de la dynamiquedes zones claires
Fonction de rehaussement de contraste
-
2ME - 2013/2014
Fonction de rehaussement de contraste
La transformation de rehaussement de contrasteest donc une application affine dfinie comme suit:
-
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
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
k k
)( khideal)( kh
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
0 50 100 150 200 2500
500
1000
1500
2000
2500
3000
3500
0 50 100 150 200 2500
500
1000
1500
2000
2500
3000
3500
Image originale Image plus contraste
2ME - 2013/2014
-
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 pourtoutes 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
Il faut viter et
O K-1= intensit maximale (souvent, 255)
g ( x , y ) P f ( x , y ) L
g ( x , y ) 0 g ( x , y ) K 1
Forme gnrale
2ME - 2013/2014
-
Dcalage additif
Contrle de la luminosit
Ici P=1 et
L=100
L=-100
(K 1) L K 1
g ( x , y ) f ( x , y ) L
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
image2
F(x,y)
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
-
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
Soustraction d'images
2ME - 2013/2014
-
Exemple 1
image 2 image 1
F(x,y) - G(x,y)
G(x,y) - F(x,y)
image 1 image 2
2ME - 2013/2014
-
Exemple 2
2ME - 2013/2014
-
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
Multiplication dimages
2ME - 2013/2014
-
Exemple
2ME - 2013/2014
-
2ME - 2013/2014
-
Relation entre les pixels
Pixels voisins d'un point (p) 4 horizontaux et verticaux
(x+1,y),(x-1,y),(x,y+1),(x,y-1)
4-voisins de p N4(p)
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!
0 1 1
1 1 0
0 1 1
2ME - 2013/2014
-
Adjacence, Connectivit, Rgions et conteurs
AdjacenceSoit 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)
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
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 Adjacent-m
2ME - 2013/2014
-
Adjacence
Adjacence-6
Adjacence-4 + une diagonale
Adjacence-6 NO/SE
Adjacence-6 NE/SO
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
2ME - 2013/2014
-
Connectivit
2 pixels sont connexes si l'on trouve un chemind'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 Adjacent-m
2ME - 2013/2014
-
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
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
2ME - 2013/2014
-
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
p3 p4p1 p2p
0 1
0 1
1
Dm (p,p4) = 2
0 1
1 1
1
Dm (p,p4) = 3
2ME - 2013/2014
-
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
-
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
Les types de bruit
-
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
est un bruit blanc non corrl
Limage moyenne
2
ib ( x , y ) N (0 , )
i jE{b ( x , y ) b ( x , y )} 0 p o u r i j
n
i
i 1
1g ( x , y ) g ( x , y )
n
2ME - 2013/2014
-
Rduction du bruit
limination du bruit par moyennage
Limage moyenne:
Signal inchang et un nouveau bruit
Moyenne du nouveau bruit nulle, comme avant
n
i
i 1
1g ( x , y ) ( f ( x , y ) b ( x , y ))
n
n
i
i 1
1g ( x , y ) f ( x , y ) ( b ( x , y )
n
n n
i i
i 1 i 1
1 1E ( b ( x , y ) E ( b ( x , y ) = 0
n n
2ME - 2013/2014
-
Rduction du bruit
Calcul de la variance du bruit
2
2
V a r ( X ) E ( X E X )
= E { X } S i E { X } = 0
n2 2
i
i 1
n n
i j2i 1 j i
n n
i i i j2i 1 j i
2n2
i2i 1
1E { ( b ( x , y )) }
n
1 E {b ( x , y ) b ( x , y )}
n
1 E {b ( x , y ) b ( x , y )} E {b ( x , y ) b ( x , y )
n
1 E {b ( x , y )}
nn
Car bruit non corrl
2ME - 2013/2014
-
0 000 000 00
0
00
00
00
0
0
0 0 000 000 00
0
00
00
00
0
0
0
Transformation base sur le voisinage dun point (x ,y): opration locale
Image traiteImage originale
(x,y)
transformation
2ME - 2013/2014
-
Transformation par convolution
2ME - 2013/2014
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
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 :
Pour deux images discrtes f et g. La convolution discrte est un calcul linaire de voisinage:
Transformation par convolution
Dfinition de la convolution dans l'espace discret
-
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
-
( , ) ( , ) ( , )
x y
x ym n
g x y f m n h x m y n
2 2
2 2
D F + 1 D F + 1
D F - 1 D F - 1
Transformation par convolution : Exemple
Masque
w3
w9
w2
w8
w1
w7
w6w5w4
DF ouDimensionFiltre : 3
2ME - 2013/2014
-
Exemple de convolution 2D
2ME - 2013/2014
-
Convolution numrique
*
Image
Noyau de convolution
I K
2ME - 2013/2014
-
Convolution numrique R = I*K
I R
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
I R
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
I R
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
I 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/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
1 1 1
1 1 1
1 1 1
ou 1/9
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
3x35x5
1/25
2ME - 2013/2014
-
On affecte chaque pixel la valeur moyenne obtenue dans le voisinage :
avec j les voisins de i
Filtre moyenneur
2ME - 2013/2014
-
Exemples de filtres moyennes
Original Moyenne 5x5 Moyenne 11x11
Source : monkey.geog.ucsb.edu/mh/115b/filter.pdf
2ME - 2013/2014
-
Filtre de moyenne
Image originale Image filtre
Exemples de filtres moyennes
2ME - 2013/2014
-
Le filtre Gaussien
Fonction gaussienne en 3D Image d'une gaussienne
Le filtre gaussien donnera un meilleure lissage et une meilleure rduction du bruit que le filtre moyenne.
2ME - 2013/2014
-
Filtre gaussien
2
22
2
2
)(
2
1),(),(
yx
eyxPSFyxgauss
fonction gaussienne 2-D
w3
w9
w2
w8
w1
w7
w6w5w4 DimX = Dim Y = 8 + 1o 3,0
2ME - 2013/2014
-
Filtre gaussien
Filtre Gaussien1 2 1
2 4 2
1 2 1
(1/16)*
1 2 1
2 4 2
1 2 1
(1/16)*
1 2 1
2 4 2
1 2 1
(1/16)*1 1
1 1(1/4)*
1 1
1 1(1/4)** =
1 2 1(1/4) =*
1
2
1
(1/4)*
2ME - 2013/2014
-
Exemples de filtres gaussiens
Original Gauss 5x5 Gauss 11x11
2ME - 2013/2014
-
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 2 1
2 4 2
1 2 1
= 1 2 1
1
2
1*
2ME - 2013/2014
-
Mdiane dune suite de : non linaire, non analytique
Si n impair: tel quil ya autant de que de
On doit ordonner les , puis prendre llment du milieu
Plus coteux
Complexit O(nlog n)
Plus robuste aux valeurs extrmes
ix
x
ix x
ix x
ix
2ME - 2013/2014
Filtre non linaire : Filtre Mdian
Pour nettoyer le bruit dans une image, il existe mieux que lefiltre moyenneur ou le filtre gaussien : le filtre mdian.
-
Filtre non linaire : Filtre Mdian
Exemple
10 30 5
20 200 20
15 10 30
5 10 10 15 20 20 30 30 200
Valeurs dintensit mdiane
10 30 5
20 20 20
15 10 30
2ME - 2013/2014
-
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 Mdian 3x3
2ME - 2013/2014
-
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
-
1 4 6 4 1
4 16 24 16 4
6 24 36 24 6
4 16 24 16 4
1 4 6 4 1
1/256
Filtre Gaussien ou binomial
1 2 3 2 1
2 4 6 4 2
3 6 9 8 3
2 4 6 4 2
1 2 3 2 1
1/81
Filtre pyramidal
0 0 1 0 0
0 2 2 2 0
1 2 5 2 1
0 2 2 2 0
0 0 1 0 0
1/25
Filtre Conique
Obtenu par la convolution de deux filtres de moyenne 3X3
Autres filtres
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 passe-haut 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
Images = fonctions relles L 2
2
2
( ) ( )
1( ) ( )
2
i t
i t
F f t e d t
f t F e d
dttf2
)(
2ME - 2013/2014
-
Ralisation optique de la TF
Le noyau de la transforme peut reprsenter une onde plane monochromatique
2ME - 2013/2014
-
Quelques dfinitions
TF est imaginaire
Spectre de Fourier
Phase
Spectre de Puissance (densit spectrale)
)()()()()(
ieFIiRF
)()()()()(22
IRIiRF
)()(tan)( 1 RI
2)()()()()()(
FeFeFP
ii
2ME - 2013/2014
-
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
-
2ME - 2013/2014
Proprits de la TF suite
-
Espace discret
Cas continu (image optique) peut sexprimer pour le cas discret (image numrique). En 1D, on a
M pas dchantillonnage uniformes x
Pour les images, on a des pas x et y pour une fonction donne par
)1(,),3(),2(),1(),0(
))1((,),3(),2(),(),(
)(
00000
Mfffff
xMxfxxfxxfxxfxf
xf
)1,1(,),0,2(),1,0(),0,1(),0,0(),( NMfffffyxf
2ME - 2013/2014
-
TF discrte
On passe de lespace discret aux frquences discrtes avec les pas dchantillonnage relis par:
1
0
1,,2,1,0/2
1,,2,1,0
1
0
/2
)()(
)(1
)(
M
MxMxi
M
M
x
Mxi
eFxf
exfM
F
xM
1
2ME - 2013/2014
-
TF discrte 2D
Note: la normalisation a t rpartie sur la paire de transforme
1 1
2 ( ) /, 0 ,1 , 2 , , 1
2
0 0
1 1
2 ( ) /, 0 ,1 , 2 , , 1
2
0 0
so it
1( , ) ( , )
1( , ) ( , )
N N
i x y NN
x y
N N
i x y Nx y N
M N
F f x y eN
f x y F eN
2ME - 2013/2014
-
Passe-bas idal 0|1
Coupe toutes les hautes frquences aprs une distance D0 du centre
Distance du centre (M/2, N/2)
0
0
1 s i D ( u , v ) DH ( u , v )
0 s i D ( u , v ) D
D u v uM
vN
( , ) ( ) ( )
/
2 2
2 2
1 2
2ME - 2013/2014
-
Passe-bas idal 0|1
D0 : frquence de coupure (cutoff)
3-D Section radiale2-D
2ME - 2013/2014
-
r=128
r=8r=16r=32r=64
Exemple: Filtrage passe-bas
2ME - 2013/2014
-
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
2 2
P P u vT
v
N
u
M
( , )0
1
0
1
%( , )
p u issa n ceP u v
PTvu
1 0 0 (u,v) D0
2ME - 2013/2014
-
Passe-haut idal
Coupe toutes les basses frquences aprs une distance D0 du centre
Distance du centre (M/2, N/2)
0
0
1 ( , )( , )
0 ( , )
s i D u v DH u v
s i D u v D
D u v uM
vN
( , ) ( ) ( )
/
2 2
2 2
1 2
2ME - 2013/2014
-
Passe-haut idal
3-D 2-D Section radiale
2ME - 2013/2014
-
r=128
r=64r=32r=16r=8
Exemple : Filtrage passe-haut
2ME - 2013/2014
-
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.
Filtrage passe-bande
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)
Exp: filtre 5X5
0 0 0 1 1 1 1 1 1
1 1 1( x , y ) h ( x , y ) 0 9 0 1 1 1 1 8 1
9 9 90 0 0 1 1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
11 1 2 4 1 1
2 51 1 1 1 1
1 1 1 1 1
2ME - 2013/2014
-
Filtres passe-haut: Dtection de contours
Oprations mathmatiques
Image originale Image filtre passe-bas Hautes frquences
- =
2ME - 2013/2014
-
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
(b)(a)
Image
prof il duneligne
horizontale
(drivepremire)(driveseconde)
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
La norme du gradient
La direction du gradient
Gx = f * MxGy = f * My
2ME - 2013/2014
-
Filtres passe-haut: Dtection de contours
Approximation du gradient (en x artes verticales)
Approximation du gradient (en y artes horizontales)
Masque de convolution
x x
x x
0 0x x
f ( x , y ) f ( x , y ) f ( x , y ) f ( x , y )flim lim
x
x1 Masque de convolution 1 -1 -1 1
x
x x
0x
f ( x , y ) f ( x , y )flim
x 2
x1 Masque de convolution
ou
-1 0 1
1
-1
-1
1ou ou ou
-1
0
1
1
0
-1
Diffrencesavant et arrire
Diffrence centre
2ME - 2013/2014
-
2ME - 2013/2014
-
2ME - 2013/2014
-
2ME - 2013/2014
-
2ME - 2013/2014
-
2ME - 2013/2014
-
Filtre de Roberts
Roberts
Deux masques de taille 2x2 :et
2ME - 2013/2014
-
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
1 0 1
2 0 2
1 0 1
1 2 1
0 0 0
1 2 1
et
2ME - 2013/2014
-
Filtres de Sobel
Sobel
Deux masques de taille 3x3 :
1 0 1
2 0 2
1 0 1
1 2 1
0 0 0
1 2 1
et
2ME - 2013/2014
-
Drive premire (gradient)
-1
1
-2
2
-1
1
000 |Gy |1
1
0
0
-1
-1
20-2 |Gx |
|Gx | + |Gy |
2ME - 2013/2014
-
2ME - 2013/2014
-
cross-gradient operators
Filtres de Robert , Prewitt et Sobel
z3
z9
z2
z8z7
z6z5z4
z1
o zx : valeur duniveau de gris
)(95
zzy
f
(a)
-10
01
0-1
10
(b) Roberts
)(86
zzx
f
y
f
x
fGGf
yx
)(
)(
321
987
zzz
zzz
y
f-1
1
-1
1
-1
1
000
1
1
0
0
-1
-1
10-1
(c) Prewitt operators
)(
)(
741
963
zzz
zzz
x
f
)2(
)2(
321
987
zzz
zzz
y
f-1
1
-2
2
-1
1
000
1
1
0
0
-1
-1
20-2
(d) Sobel
)2(
)2(
741
963
zzz
zzz
x
f
2ME - 2013/2014
-
2ME - 2013/2014
-
(d) idem c [sauf pourles pixels dont les2 gradients 25*qui ont t mis 0- image binaire]
(c) image originaledont les pixels ayant1 gradient > 25*ont t mis 255
Amlioration des artes et des contours
25ou*
y
f
x
f25et*
y
f
x
f
(a) image originale
(b) image obtenue partir des valeursde magnitude dugradient [masquesde Prewitt]
2ME - 2013/2014
-
2ME - 2013/2014
-
2ME - 2013/2014
-
Filtre de Laplacien
Laplacien Drive seconde
Diffrence centre
Noyau de convolution
2' '
2
f ( x , y )f ( x 1, y ) f ( x , y )
x
= [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 )
2
2 2( )
x y
1 2 1
2ME - 2013/2014
-
Filtre de Laplacien
Laplacien (suite)
Hautes frquences dans toutes les directions
Autres formes
2
2 2( )
x y
1 0 1 0
1 2 1 2 1 4 1
1 0 1 0
0 1 0
1 4 1
0 1 0
1 1 1
1 8 1
1 1 1
Ou
2ME - 2013/2014
-
Filtre de Laplacien
Laplacien (suite)
Drive seconde du signal image
Localisation des contours par le passage par 0
Diffrents masques :
0 1 0
1 4 1
0 1 0
1 1 1
1 8 1
1 1 1
2ME - 2013/2014
-
Filtre de Kirsch
Kirsch
8 masques, dans chaque direction (45)
2ME - 2013/2014
-
2ME - 2013/2014
Filtre de Kirsch
-
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
-
Marr-Hildreth
0 -1 -2 -1 0
-1 0 2 0 -1
-2 2 8 2 -2
-1 0 2 0 -1
0 -1 -2 -1 0
-1 -3 -4 -3 -1
-3 0 6 0 -3
-4 6 20 6 -4
-3 0 6 0 -3
-1 -3 -4 -3 -1
Filtre de Marr-Hildreth
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
-
On utilise un filtre passe-haut et on compare la force du contour avec un seuil
Image originale Sobel Laplacien
Filtres passe-haut
2ME - 2013/2014
-
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
-
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
Filtre de Marr-Hildreth
2ME - 2013/2014
-
2ME - 2013/2014
Code Matlab
-
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
-
2ME - 2013/2014
Problme avec un espace (a,b)
-
2ME - 2013/2014
une image binaire comportant 6 x 6 pixels dont lesvaleurs sont donnes dans le tableau suivant
Exemple
-
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
Recherche de rgions
(approches rgions )Recherche de frontires
(approches contours )
Segmentation rgions/contours
2ME - 2013/2014
-
2ME - 2013/2014
-
Image = Rgion R
n
ii
RR1
connexeestRi
jipourRRji
VraiRPi
)(
jipourFauxRRPji
)(
Formulation dune rgion
2ME - 2013/2014
-
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
-
Seuillage fTT
Seuillage global
fyxpTT ),,(
Seuillage local
),( yxTT
Seuillage dynamique
fyxpyxTT ),,(),,(
2ME - 2013/2014
-
2ME - 2013/2014
-
2ME - 2013/2014
-
2ME - 2013/2014
-
Exemple dimage en 256 niveaux de gris : Seuil 75 Seuil 125
Image initial Histogramme de limage
Seuillage 75
Exemple de seuillage
Seuillage 1252ME - 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
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
-
Description de l'algorithmeNombre de class k
Dtermination
des centroides
Calcul de la
distance minimale
Regroupement
Aucun donne a
chang de groupe? Fin
Oui
Non
K-moyennes
2ME - 2013/2014
-
2ME - 2013/2014
-
Exemple
Image originale
k-moyenne avec k=3 k-moyenne avec k=4
2ME - 2013/2014
-
2ME - 2013/2014
K-mean pour limage couleur
-
2ME - 2013/2014
Image originale Image segment avec k=3Image segment avec k=6
Exemple
-
2ME - 2013/2014
-
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
-
Exemples de division-fusion
Image originaleImage segmente
s=200 et min=2Image segmente
s=250 et min=2
2ME - 2013/2014
-
2ME - 2013/2014
Exemples de division-fusion
-
Segmentation en rgion
Croissance de rgions
2ME - 2013/2014
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
-
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
-
2ME - 2013/2014
L'algorithme se compose de deux tapes:
Gnrer une carte d'lvation partir de
l'image de dpart
Remplir progressivement les bassins
Algorithme LPE
-
2ME - 2013/2014
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 :
Carte d'lvation (elevation map)
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
-
Ligne de partage des eaux
image segmenteLPE
image gradientimage originale
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 gradientimage originale
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 fermeture
2ME - 2013/2014
-
2ME - 2013/2014
Morphologie mathmatique
-
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 mor-phologiques 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)
AapourxaccAx
,)(
Rflexion: Rflexion de B
BbpourbxxB ,
2ME - 2013/2014
-
2ME - 2013/2014
Dfinitions de base oprations lmentaires
-
Dilatation
ABxBAx
)(
Dilatation de A par un oprateur Morphologique B
2ME - 2013/2014
-
2ME - 2013/2014
Dilatation
-
rosion
ABxBAx
)(
rosion de A par un oprateur morphologique B
2ME - 2013/2014
-
2ME - 2013/2014
rosion
-
Ouverture (rosion + dilatation)
BBABA )(
Lissage des contours des formes
limination des pics et des bosses
Brise les sections minces
2ME - 2013/2014
-
2ME - 2013/2014
Ouverture(rosion suivie dune dilatation)
-
Fermeture (dilatation + rosion)
BBABA )(
Lissage des contours des formes
Remplissage des trous et vides
2ME - 2013/2014
-
2ME - 2013/2014
Fermeture(dilatation suivie dune rosion)
-
Oprations morphologiquessur les images
Dilatation
rosion
Ouverture
Fermeture
2ME - 2013/2014
-
Dilatation
( )( , ) max ( , ) ( , ) ( ),( ) ;( , )f bf B s t f s x t y b x y s x t y D x y D
Dilatation dune image f par b
Image plus brillante
Partie fonce sont rehausses (niveau de
brillance plus leve)
2ME - 2013/2014
-
2ME - 2013/2014
Dilatation
-
rosion
( )( , ) min ( , ) ( , ) ( ),( ) ;( , )f bf B s t f s x t y b x y s x t y D x y D
rosion dune image f par b
Image plus fonce
Parties brillantes sont attnues (niveau de
brillance plus faible)
2ME - 2013/2014
-
2ME - 2013/2014
rosion
-
2ME - 2013/2014
Dilatation et rosion dune image niveaux de gris (exemples)
-
Ouverture
bbfBf )(
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
2ME - 2013/2014
-
2ME - 2013/2014
Ouverture
-
Fermeture
bbfBf )(
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
2ME - 2013/2014
-
Fermeture
2ME - 2013/2014
-
2ME - 2013/2014
Ouverture et fermeture dune image niveaux de gris (exemples)
-
Lissage morphologique dimage
))))((( bbbbf
Lissage dimages
limination des pics brillants plus petit que b
limination des zones sombres plus petites que b
Ouverture Fermeture
2ME - 2013/2014
-
Rehaussement morphologique dimage
)()( bfbfg
Rehaussement dimages
Bas sur le calcul du gradient morphologique
2ME - 2013/2014
-
2ME - 2013/2014
Lissage et rehaussement morphologiques
-
Rsum
Amlioration des images par filtrage morphologique
Morphologie mathmatique
Oprations morphologiques
Oprations morphologiques sur les images
Lissage et rehaussement morphologiques
2ME - 2013/2014
-
2ME - 2013/2014
I = imread('chine.png');seuil = graythresh(I) % recherche du seuil avec la mthode d'OtsuIb = im2bw(I,seuil); % binarisationfigure(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 structurantIer = imerode(Ibi,SE) ;figure(3)imshow(Ier)%Pour dilater limage binaire Ibi et afficher le rsultat :Idi = imdilate(Ibi,SE) ;figure(4)imshow(Idi)
Code Matlab
-
2ME - 2013/2014
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');
Code Matlab