Chapitre 2 : Filtrage Professeur. Mohammed Talibi Alaoui Département Mathématiques et...
-
Upload
alison-combe -
Category
Documents
-
view
138 -
download
11
Transcript of Chapitre 2 : Filtrage Professeur. Mohammed Talibi Alaoui Département Mathématiques et...
Chapitre 2 : Filtrage
Professeur. Mohammed Talibi Alaoui
Département Mathématiques et Informatique, Oujda
Objectifs :
Présenter les principes de base du
filtrage.
Illustrer ses applications potentielles à
travers quelques exemples.
1. Introduction
Le filtrage est une opération fondamentaleen traitement d’images. Il permet :
D’améliorer la perception de certains détails.
De réduire le bruit.
De compenser certains défauts du capteur.
etc…
Nous allons tout d’abord étudier :
Le filtrage linéaire et les outils d’analyse et de
synthèse associés.
Nous verrons que le filtrage peut également
être réalisé directement dans le domaine
fréquentiel, grâce à la transformé de Fourier
d’une image.
2. Principe du filtrage linéaire
Considérons une image I et un filtre bidimensionnel
h.
Le filtrage de l’image I par le filtre h est une image F
dont les luminances sont données par :
ba
byaxIbahyxF,
),(),(),(
Si le filtre est de taille (2n+1)*(2n+1) alors les indices
a et b varient de – n à + n.
Le filtre peut être vu comme une convolution, à
condition de faire subir au filtre une symétrie par
rapport à l’origine.
),(),(
),)(*(),(
),(),(),(
),(),(),(
,
,
dchdcg
avec
yxIgyxF
dycxIdcgyxF
dycxIdchyxF
dc
dc
Matlab nous fournit une fonction qui réalise le
filtrage d’une image.
La fonction filter2 prend en paramètres le filtre
et l’image à filtrer.
Exemple
3. Réponse fréquentielle d’un filtre
La réponse fréquentielle d’un filtre est donnée
par :
2,1
)2211()2,1()2,1(nn
nwnwjennhwwH
Ou w1 et w2 varient de – π à + π. Les variables w1 et w2
représentent respectivement la fréquence ligne et la
fréquence colonne.
Prenons comme exemple le filtre h1 avec :
)1 2cos 2)(1 1cos 2( 9 )2 ,1( wwwwH
1 1 1
1 8 1
1 1 1
1h
En appliquant la formule, on obtient :
Un autre exemple est :
1 1 1
1 9 1
1 1 1
2h
En appliquant la formule, on obtient :
Matlab permet de visualiser la réponse fréquentielle
d’un filtre grâce à la fonction freqz2,
Exemple
)1 cos 2)(1 cos 2( 10 ) ,( 21212 wwwwH
un autre filtre utile est :
en appliquant la formule, on obtient :
Exemple 1
Exemple 2
Exemple 3
)1 cos 2)(1 cos 2)(9/1(),(21213 wwwwH
1 1 1
1 1 1
1 1 1
(1/9) 3h
D’une manière générale :
Un passe-haut accentue les contours et le
bruit,
Un passe-bas réduit le bruit et adoucit les
contours.
4. Synthèse d’un filtre à partir d’une réponse fréquentielle
Introduction :
Calculer les coefficients d’un filtre à partir
d’une réponse fréquentielle désirée.
Normalisation :
On souhaite que le filtrage ne modifie pas
la valeur moyenne de l’image.
La moyenne de l’image filtrée F est donnée
par :
On en déduit une condition sur les coefficients
du filtre :
IEnnhFEnn
21,21 ),(
1),(21,
21 nn
nnh
On en déduit la condition sur la réponse
fréquentielle :
Parfois, on souhaite également avoir un filtre à
coefficients symétriques par rapport à l’origine :
1)0,0( H
),(),(),( 212121 nnnnhnnh
Synthèse par échantillonnage de la réponse
impulsionnelle :
on rappelle que l’on a :
)(21
,21
2211
21
),(),(nwnwj
nnennhwwH
Cette expression correspond à une décomposition en
série de Fourier. Les coefficients de la décomposition de
H en série de Fourier sont données par :
h est la réponse impulsionnelle du filtre.
On souhaite synthétiser un passe-bas, tel que :
21
)(21
221
2211),())2/(1(),( dwdwewwHnnh nwnwj
onwwH
awetawpourwwH
sin 0 ) ,(
1 ) ,(
21
2121
On peut calculer de manière théorique les coefficients
d’un tel filtre :
1
2
2
12
2
21
2121
sin
sin ) ,(
...
))2/(1() ,( 2211
anan
ananannh
dwdweennhnjwnjwa
a
a
a
Synthèse par échantillonnage de fréquence
Le principe consiste à indiquer les valeurs
souhaitées de H(w1,w2) sur une grille (w1, w2)
et à en déduire le filtre h(n1 ,n2).
Matlab réalise cette synthèse avec la fonction
fsamp2.
Exemple : Synthèse par échantillonnage de
fréquence
Dans cet exemple, on synthétise un filtre dont la réponse fréquentielle souhaitée est :
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
H
5. Utilisation de la Transformée de Fourier :
Il est également possible de réaliser le filtrage dans le
domaine fréquentiel.
Pour cela, on multiplie la transformée de Fourier de
l’image par le conjugué de la réponse fréquentiel du
filtre.
Soit I l’image source, F l’image filtrée, h le filtre, et I, F,
H, les transformées de Fourier.
On a donc :
La transformée de Fourier discrète est donnée par :
Il est de même pour H et pour F.
Matlab calcule la transformée de Fourier discrète
grâce à la fonction fft2 (ifft2). Une autre fonction
utile est fftshift.
),(),( ),( ),(
),(),( ),( ),)(*( ),(
*vuHyxGouyxhyxgou
vuIvuGvuFyxIgyxF
yx
MuyNuxjeyxIvuI,
)//(2),(),(
6. Filtre médian
• Filtre non linéaire.
• Capable de réduire certains types de bruits
en dégradant très peu les contours.
• Efficace pour éliminer les bruits qui affectent
seulement un petit nombre de pixels.
• Le filtre médian affecte à un pixel la valeur
médiane des intensités dans son voisinage.
.7 .5 .3
.4 .2 .7
.6 .5 .2
Le filtre médian range par ordre croissant les intensités
du voisinage :
.2 .2 .3 .4 .5 .5 .6 .7 .7
Il affecte au pixel central l’intensité qui se trouve au
milieu du rangement ci-dessus.
Exemple : Le filtre médian préserve les contours.