Fichier PDF

Partage, hébergement, conversion et archivage facile de documents au format PDF

Partager un fichier Mes fichiers Convertir un fichier Boite à outils PDF Recherche PDF Aide Contact



filtrage adapté .pdf



Nom original: filtrage adapté.pdf

Ce document au format PDF 1.5 a été généré par TeX / MiKTeX pdfTeX-1.40.13, et a été envoyé sur fichier-pdf.fr le 11/06/2013 à 00:36, depuis l'adresse IP 41.140.x.x. La présente page de téléchargement du fichier a été vue 1774 fois.
Taille du document: 8.7 Mo (37 pages).
Confidentialité: fichier public




Télécharger le fichier (PDF)









Aperçu du document


Filtrage adapté
Yasmine Achour et Hajar Babour
23/05/2013

Sommaire

1 Introduction

4

2 Rappels mathématiques

5

2.1
2.2
2.3
2.4
2.5

Produit de convolution . . . . . . . . . . . . . . . . . . . .
Transformée de Fourier et Transformée de Fourier inverse
Transformée de Fourier discrète . . . . . . . . . . . . . . .
Théorème de Plancherel . . . . . . . . . . . . . . . . . . .
Corrélation . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Intercorrélation entre deux signaux . . . . . . . . .
2.5.2 Autocorrélation . . . . . . . . . . . . . . . . . . . .
2.6 Propriété spectrale . . . . . . . . . . . . . . . . . . . . . .
2.6.1 Densité spectrale . . . . . . . . . . . . . . . . . . .
2.6.2 Théorème de Wiener-Khintchine . . . . . . . . . .
2.7 Distribution de Dirac . . . . . . . . . . . . . . . . . . . . .
2.8 Inégalité de Cauchy Schwarz . . . . . . . . . . . . . . . . .

3 Principe
3.1
3.2
3.3
3.4

Notion de ltrage . . . . . . .
Filtrage linéaire . . . . . . . .
Technique du ltrage adapté .
Rapport signal sur bruit . . .

.
.
.
.

.
.
.
.

4.1
4.2
4.3
4.4

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Rappel sur les images numériques . . . . . . . .
Types d'images . . . . . . . . . . . . . . . . . .
Introduction au pré-traitement de l'image . . .
Filtrage . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Introduction . . . . . . . . . . . . . . . .
4.4.2 Principe de ltrage linéaire . . . . . . .
4.4.3 Réponse fréquentielle du ltre . . . . . .
4.4.4 Utilisation de la transformée de Fourier
4.4.5 Exemples d'application . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

1

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

4 Application : Traitement d'image

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

5
5
6
6
7
7
7
8
8
8
8
9

10

10
10
11
12

15

15
16
20
20
20
21
22
25
27

4.4.6
4.4.7

Filtre Médian . . . . . . . . . . . . . . . . . . . . . . . .
Application aux détections de contours . . . . . . . . . .

28
30

5 Conclusion

35

6 Bibliographie

36

2

Remerciements

Au terme de ce travail, nous saisissons cette occasion pour exprimer nos
vifs remerciements à toute personne ayant contribué, de près ou de loin, à la
réalisation de ce travail.
Nous tenons tout d'abord à remercier sincèrement Monsieur Moulay Taib BELGHITI, qui s'est toujours montré à l'écoute pendant la réalisation de ce travail.
On vous remercie du fond du coeur pour le choix des sujets, pour vos conseils,
votre soutien, et votre bienveillance.
L'expression de notre haute reconnaissance à Mr Tarik BOUJIHA pour l'aide et
le temps qu'il a bien voulu nous consacrer. Il n'a sans doute épargné aucun e ort
pour mettre à notre disposition la documentation et les explications nécessaires.
Nous exprimons notre gratitude aux membres du Jury, qui nous ont honorés en acceptant de juger ce modeste travail.
En n, nous nous adressons à toute personne du corps enseignant et administratif de notre chère Ecole Nationale des Sciences Appliquées de Kénitra.

Merci !

3

Chapitre 1
Introduction

L'annulation de bruit comprend l'ensemble des techniques qui permettent
d'annuler le bruit contenu dans un signal. Le signal peut représenter une image
ou un son. Le bruit étant un composant indésirable, il est nécessaire de l'éliminer le plus possible pour recueillir le signal qui nous intéresse. La méthode
utilisée pour annuler un bruit va dépendre du contexte : type de signal, type de
bruit. La méthode la plus connue et la plus ancienne est l'utilisation du ltrage
adapté.
L'aspect mathématique du ltrage adapté est basé sur les travaux du célèbre
mathématicien Allemand du 19eme siècle GAUSS. L'une des premières utilisations proposée en traitement adapté numérique du signal a été la publication
de WIDROW et HOFF concernant des circuits de commutations adaptatés
en 1960. Ces travaux ont suscité beaucoup d'intérêt et on été complétés par
d'autres publications dans les années 1970.
Nos TIPE sont sous le thème du ltrage adapté , nous allons présenter
le concept mathématique, et nous illustrerons ses applications potentielles à
travers le traitement d'image pour éclaircir ce principe.
En e et, le principe du ltrage adapté est le suivant : on a un système à deux
entrées. Une entrée correspond au signal qui nous intéresse, l'autre entrée correspond uniquement au bruit. Le but du système est de retrouver en sortie un
signal sans bruit, ou atténué de bruit.
En n, on espère que ces TIPE mettront en disposition tous les détails concernant ce sujet dans le but d'approcher le plus possible ses lecteurs du principe.

4

Chapitre 2
Rappels mathématiques

2.1 Produit de convolution
Le produit de convolution de deux fonctions f et g est une autre fonction,
qui se note généralement "f*g"' et qui est dé nie par :
Z



(f ∗ g)(x) =

f (x − t)g(t)dt


Z



(f ∗ g)(x) =

f (t)g(x − t)dt


Ou encore, pour des suites, on peut parler d'utilisation de la mesure de comptage :
(f ∗ g)(x) =


X

f (x − m)g(m)



(f ∗ g)(x) =


X

f (m)g(x − m)



2.2 Transformée de Fourier et Transformée de Fourier inverse
Soit une fonction f de R dans C. On dé nit la transformée de Fourier de f
par :
Z



F (u) =

f (x) exp(−2iuxπ)dx


On note f → F et

F (f )(u) = fˆ(u)

5

On dé nit de même la Transformée de Fourier inverse de F par :
Z



F (u) exp(+2iuxπ)du

f (x) =


2.3 Transformée de Fourier discrète
Il est important de rappeler que la Transformée de Fourier discrète ne calcule
pas le spectre continu d'un signal continu mais permet seulement d'évaluer
une représentation spectrale discrète (spectre échantillonné) d'un signal discret
(signal échantillonné) sur une fenêtre de temps nie (échantillonnage borné
dans le temps).

2.4 Théorème de Plancherel
Soit



Z

x(u)h(t − u)du

y(t) =


qui a pour transformée de Fourier :
Z∞ Z∞
y(w) = [ x(u)h(t − u) du] exp(−2itwπ)dt
∞ ∞

En supposant qu'il est possible de changer l'ordre des intégrations :
Z∞
Z∞
y(w) = [x(u) h(t − u) exp(−2itwπ) dt]du




Et en introduisant art ciellement :
y(w) =

R∞


1 = exp(−2iuwπ)
R ∞ × exp(+2iuwπ)
x(u) exp(−2iuwπ)du× ∞ h(t − u) exp(−i(t − u)w2π)dt

En e ectuant un changement de variable :
y(w) =

R∞


x(u) exp(−2iuwπ)du×

zR = t − u

∞ h(z) exp(−2izwπ)dz

On y reconnait les transformées de Fourier x(w) et h(w) des fonctions x(t) et
h(t)

6

y(w) = x(w) × h(w)

Donc on a T F (X ∗ H) = T F (X) × T F (H)
La transformée de Fourier d'une convolution de deux fonctions est un produit
des transformées de Fourier de ces deux fonctions.

2.5 Corrélation
2.5.1 Intercorrélation entre deux signaux
Z



Cxy (z) =

x(t)y ∗ (t − z)dt



Z



Cxy (z) =

x(t + z)y ∗ (t)dt



Attention aux notations, on peut aussi dé nir sous la forme :


Z
Cxy (t) =

x(z)y ∗ (z − t)dt




Z
Cxy (t) =

x(t + z)y ∗ (z)dt



2.5.2 Autocorrélation
L'autocorrélation est un outil mathématique souvent utilisé en traitement
du signal, c'est la mesure de la similarité d'un signal par lui même. L'autocorrélation permet de détecter des régularités, des pro ls répétés dans un signal
comme un signal périodique perturbé par beaucoup de bruit. En traitement de
signal, pour un signal donné x(t) l'autocorrélation Cxx (z) est dé nie par :
Z



Cxx (z) =

x(t)x∗ (t − z)dt



Pour les signaux réels la fonction Cxx est paire :
Cxx (t) = Cxx(−t)
∀t, on a Cxx (t) 6 Cxx (0)

7

2.6 Propriété spectrale
2.6.1 Densité spectrale
Soit f (t) → F (ν)
Nous dé nissons la densité spectrale par :
Sxx (ν) = X(ν) ∗ X ∗ (ν) = |X(ν)|2

2.6.2 Théorème de Wiener-Khintchine
La densité spectrale du signal Sxx (ν) est la transformée de Fourier de la
fonction d'autocorrélation Cxx (z). On écrit cette propriété sous la forme :
Z



Sxx (ν) = T F [Cxx (z)] =

Cxx (z) exp(−2izπν)dz


Et réciproquement :
Cxx (z) = T F

−1

Z



[Sxx (ν)] =

Sxx (ν) exp(+2izπν)dν


2.7 Distribution de Dirac
La distribution de Dirac, appelée aussi impulsion unité et notée δ(t) est
la modélisation mathématique d'un signal d'amplitude in nie sur une durée
"in niment brève" à la date 0. Elle peut être informellement considérée comme
une fonction δ qui prend une valeur in nie en 0, et la valeur zéro partout
ailleurs, et dont l'intégrale sur R est égale à 1.
D'autre part, δ correspond à la dérivée de la fonction de Heaviside (au
sens des distributions). Mais cette fonction de Dirac n'est pas une fonction, elle
étend la notion de fonction.
δ est l'élément neutre de la convolution :
δ∗φ=φ

Cette propriété est abondamment utilisée en traitement du signal. On dit qu'un
signal correspondant à une distribution de Dirac a un spectre blanc. Cest-à-dire
que chaque fréquence est présente avec une intensité identique. Cette propriété
permet d'analyser la réponse fréquentielle d'un système sans avoir à balayer
toutes les fréquences.
La transformée de Fourier de la fonction δ de Dirac s'identi e à la fonction
constante 1, ainsi δ est le Fourier de 1.

8

2.8 Inégalité de Cauchy Schwarz
L'inégalité de Cauchy Schwartz s'énonce de la façon suivante :
| < f.g > | ≤ ||f || × ||g||

On a égalité si seulement si f et g sont colinéaires.

9

Chapitre 3
Principe

3.1 Notion de ltrage
Un ltre est un système servant à séparer des éléments dans un ux. Ce
ux peut être un ux de matières, un courant électronique, un ux optique.
L'action du ltre consiste à retenir, supprimer, rediriger ou modi er les éléments
indésirables et à en laisser passer librement les éléments utiles. Par extension,
on appelle également ltre un outil logiciel dont le but est la séparation des
fréquences contenues dans un signal numérisé ou dans une image physique,
dans ce cas le ltrage est souvent réalisé à l'aide de la transformée de Fourier
discrète.

3.2 Filtrage linéaire
On appelle ltre linéaire un système à la fois linéaire et invariant dans le
temps, ceci implique qu'une combinaison linéaire d'entrées entraine la même
combinaison linéaire des sorties et de plus tout décalage temporel de l'entrée
entraine le même décalage en sortie. Dans le domaine temporel, l'entrée et
la sortie sont liées par une opération de convolution introduisant la réponse
impulsionnelle h(t). En e et, comme le ltre est linéaire, on peut décomposer
le signal e(t) en parties indépendantes, à l'aide d'un ensemble de signaux ei
avec des supports disjoints compacts de telle sorte que :
e(t) =

X

ei (t)

On injecte chaque partie du signal dans le ltre puis l'on somme les di érentes réponses. Ainsi, le ltrage donnera :
f (e) =

X

10

f (ei )

Cette décomposition temporelle de e(t) peut s'e ectuer de manière récursive
sur les signaux ei (t).
A la n, on obtient une suite de signaux dont le support se résume à un point.
Ces signaux, élémentaires parce que non décomposables temporellement, correspondent chancun d'entre eux à la distribution de dirac δ(t − τ ) centrée en τ
avec une amplitude e(τ ), l'impulsion s'écrit δ(t − τ ) × e(τ ).
Il su t de sommer toutes les impulsions suivant la variable τ pour obtenir le
signal e(t) :
Z
δ(t − τ )e(τ )dτ

e(t) =

On applique l'opération de ltrage sur e(t). Comme le ltre est linéaire et
indépendant du temps, nous avons :
Z
f (δ(t − τ ))e(τ )dτ

f (e) =

Z
e(τ )f (δ(t − τ ))dτ

f (e) =

(linéarité)
Z
f (e) =

e(τ )(f oδ)(t − τ )dτ

(indépendance du temps)
La réponse du ltre f à l'impulsion δ(t) est nommée la réponse impulsionnelle
du ltre h(t).
Finalement, on a :
Z
f (e) =

e(τ ).h(t − τ )dτ

qui n'est autre que le produit de convolution.
En conclusion : Si le ltre est linéaire et indépendant du temps, alors il est
entièrement caractérisé par sa réponse h(t) et la réponse du ltre à l'entrée e(t)
est donnée par l'opérateur de convolution.

3.3 Technique du ltrage adapté
Un ltrage adapté est un système linéaire optimisant la détection d'un signal s(t) de forme connue en présence de bruit additif indépendant. Il maximise
11

le rapport signal sur bruit à l'instant de la décision.

Le but est l'optimisation du modèle du ltre a n de minimiser les e ets du
bruit sur la sortie du ltre et permettre la détection de g(t). Pour se faire, il
faut jouer sur la réponse impulsionnelle h(t).

3.4 Rapport signal sur bruit
Le signal global à traiter e(t) est constitué par l'addition du signal h(t) et
du bruit b(t).
e(t) = h(t) + b(t)

L'un des paramètres du problème est le rapport signal sur bruit. Ce dernier
désigne la qualité d'une transmission d'information par rapport aux parasites
dé nie par :
ρ(t) = R ∞


(SE (t))2
|(SB (t))2 |dt

On a :
SE (t) = E(t) ∗ H(t)
|SE (t)| = |F −1 (F (E(t) ∗ H(t)))|2
2

12

2
ˆ E(ν))|
ˆ
|SE (t)|2 = |F −1 (H(ν)
Z ∞
ˆ E(ν)
ˆ
|SE (t)|2 = |
H(ν)
exp(2itνπ)dt|2


On a :
SB (t) = B(t) ∗ H(t)

Z



|(SB (t))2 |dt =



Z



|F (SB (t))2 |dν



( Conservation de l'énergie )
Z



|(SB (t))2 |dt =

|F (B(t) ∗ H(t))2 |dν





Z



Z



Z

2



|(SB (t)) |dt =


ˆ 2 ) × (H(ν)
ˆ 2 )|d(ν)
|(B(ν)



Le rapport signal sur bruit devient alors :
|

R∞

ρ(t) = R ∞



ˆ E(ν)
ˆ
H(ν)
exp(2itνπ)dt|2
ˆ 2 ) × (H(ν)
ˆ 2 )|d(ν)
|(B(ν)

En appliquant l'inégalité de Cauchy Schwartz :
|

R∞


ˆ E(ν)
ˆ
H(ν)
exp(2itνπ)dt|2 ≤

R∞



ˆ
|H(ν)d(ν)|

R∞


2
ˆ
|E(ν)dν|

Soit D(ν) la densité spectrale de puissance :
2
ˆ
|B(ν)|
= D(ν) =

N0
2

On a donc :
R∞
ρ(t) ≤



R
ˆ 2 d(ν) × ∞ H(ν)
ˆ 2 dν
E(ν)

R

N0
ˆ 2 d(ν)
×
H(ν)
2

ρ(t) ≤





R∞


13

ˆ 2 d(ν)
E(ν)
N0

ρ(t)max =

avec E =

R∞


2E
N0

ˆ 2 d(ν) : l'énergie du signal.
E(ν)

14

Chapitre 4
Application : Traitement
d'image

4.1 Rappel sur les images numériques
Une image numérique est dé nie comme un signal ni bidimensionnel échantillonné à valeurs quanti ées dans un certain espace de couleurs. Elle est constituée de points (pixels).
Signal ni : une image possède des dimensions nies, exemple : 640x480,
800x600 points
Signal bidimensionnel : une image possède deux dimensions : largeur, hauteur.
Signal échantillonné : les pixels d'une image sont régulièrement espacés sur
une grille carrée.
Valeurs quanti ées : les valeurs des pixels appartiennent à un intervalle borné
connu.
Autrement dit, une image numérique peut être vue comme une matrice MxN
de valeurs entières prises sur un intervalle borné [0,Ng] où Ng est la valeur
maximale du niveau de gris.
Chaque élément de la matrice étant appelé pixel (abréviation de picture element).

15

p(i,j) est le niveau de gris du pixel de coordonnées ligne i et colonne j dans
l'image. p(i, j) ∈ [0, N g]. Les valeurs des niveaux de gris sont des entiers.

4.2 Types d'images
Une image peut être représentée sous di érentes manières au niveau informatique. Le logiciel Matlab supporte quatres types d'images :
1. Image binaire :Une image binaire est une image MxN où chaque point
peut prendre uniquement la valeur 0 ou 1. Dans ce cas, Ng = 2 et la
relation sur les niveaux de gris devient : p(i,j) = 0 ou p(i,j) = 1.
Matlab représente les éléments de cette matrice par des réels en double
précision (8 octets par élément). Lorsque l'on visualise une telle image,
les 0 sont représentés par du noir et les 1 par du blanc.
L'exemple ci-dessous crée une image B de 3 × 3 pixels, dans laquelle les
pixels blancs et noirs sont alternés, et a che cette image.
B = [0 1 0 ; 1 0 1 ; 0 1 0] ;
imshow(B, 'notruesize') ;

16

2. Image en niveaux de gris :Une image en niveaux de gris autorise un dégradé de gris entre le noir et le blanc. En général, on code le niveau de
gris sur un octet (8 bits) soit 256 nuances de dégradé.
Par exemple, 0.2 représente un gris foncé et 0.8 un gris clair. L'exemple
suivant crée une image de 4 × 7 pixels (quatre lignes et sept colonnes)
constituée de lignes verticales dont les niveaux de gris passent progressivement du noir au blanc.
I = ones(4,1)*[(0 :6)/6] ;
imshow(I, 'notruesize') ;

17

3. Image couleur : Une image couleur est la composition de trois (ou plus)
images en niveaux de gris sur trois (ou plus) composantes. On dé nit
donc trois plans de niveaux de gris, un rouge, un vert et un bleu. La
couleur nale est obtenue par synthèse additive des ces trois (ou plus)
composantes.

Pour représenter la couleur d'un pixel, il faut donc donner 3 nombres, qui
correspondent au dosage de 3 couleurs de base : Rouge, Vert et Bleu.
R = [0.5 0 1 ; 0 1 0 ; 1 0 0.5] ;
G = [0.5 0.6 0 ; 0.6 0 0.6 ; 0 0.6 0.5] ;
imshow(R,G, 'notruesize') ;
18

4. Image indexée : On a vu que la manière la plus naturelle de représenter une image couleur consiste à utiliser trois matrices. Toutefois, pour
de grandes images, ceci conduit à l'occupation d'un espace mémoire important. C'est pourquoi, Matlab a prévu une manière plus économique
de représenter les images couleur : il s'agit de la représentation indexée.
En contrepartie, la représentation indexée ne permet de visualiser qu'un
nombre limité de couleurs. Ces couleurs sont mémorisées dans une table
de couleurs (colormap) qui est une matrice n × 3 (où n est le nombre de
couleurs).
L'image est alors une matrice contenant des nombres entiers compris entre
1 et n, chaque entier jouant le rôle d'un index relatif à la table de couleurs.
Par exemple, l'élément représenté sur la gure suivante contient l'entier
18, ce qui ramène à la ligne 18 de la table de couleurs pour connaître la
couleur du pixel correspondant.

19

4.3 Introduction au pré-traitement de l'image
Le traitement d'images tend à améliorer la qualité d'une image. Par exemple,
une photographie dont le négatif aurait reçu une poussière conduira à un défaut
sur l'image. Un bougé lors de l'acquisition d'une photographie pourra conduire
à une image oue. Une sous-illumination conduira à des couleurs erronées, etc.
Certains défauts peuvent être éliminés ou réduits. Mais il ne faut pas non plus
attendre que la restauration d'images permet de restaurer tout et n'importe
quoi. Meilleure sera la prise d'image, meilleure sera l'image restituée.

4.4 Filtrage
4.4.1 Introduction
Le ltrage est une opération fondamentale en 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.
Dans cette partie, nous allons tout d'abord étudier le ltrage linéaire et les
outils d'analyse de synthèse associés. Ensuite, nous verrons que le ltrage peut
également être réalisé directement dans le domaine fréquentiel, grâce à la transformée de Fourier d'une image. Ces outils de base étant présentés, nous étudierons trois exemples d'application du ltrage :
L'atténuation du bruit.
L'atténuation du phénomène de Moiré.
La détection des contours de l'image.
20

Pour certains types de bruits, le ltrage linéaire n'est pas e cace. Ceci nous
conduira à introduire un exemple de ltre non linéaire : le ltre médian.

4.4.2 Principe de ltrage linéaire
Considérons une image I et un ltre bidimentionnel h. Le ltrage de l'image
I par le ltre h est une image F dont les luminances sont données par :
F (x, y) =

X

h(a, b)I(x + a, y + b)

a,b

En général, on choisit un ltre de taille impaire a n de pouvoir dé nir le centre
du ltre. Si le ltre est de taille (2n + 1) × (2n + 1) alors les indices a et b
varient de −n à +n.
Le ltrage peut être vu comme une convolution, à condition de faire subir au
ltre une symétrie par rapport à l'origine. En e et, on a :
F (x, y) =

X

h(−c, −d)I(x − c, y − d)

c,d

F (x, y) =

X

g(c, d)I(x − c, y − d)

c,d

F (x, y) = (g ∗ I)(x, y)

En posant : g(c, d) = h(−c, −d)
Matlab nous fournit une fonction qui réalise le ltrage d'une image. Il s'agit de
la fonction lter2 qui prend en paramètres le ltre et l'image à ltrer. L'exemple
ci dessous réalise le ltrage de l'image I par le ltre h, comme indique l'image
suivante :

21

h= -ones(3,3) ;
h(2,2)=9 ;
I=imread('house.jpg') ;
subplot(2,2,1) ;
imshow(I) ;
I=rgb2gray(I) ;
I=double(I)/255.0 ;
subplot(2,2,2) ;
imshow(I) ;
F= ltrer2(h,I) ;
subplot(2,2,3) ;
imshow(F) ;

4.4.3 Réponse fréquentielle du ltre
La réponse fréquentielle d'un ltre est donnée par :
H(ω1 , ω2 ) =

X

h(n1 , n2 ) exp(−i(ω1 n1 + ω2 n2 ))

1 ,n2

où ω1 et ω2 varient de -π à +π . Les variables ω1 et ω2 représentent respectivement la fréquence ligne et la fréquence colonne. Prenons comme exemple le
ltre h1 ci − dessous :
22




−1 −1 −1
h1 = −1 +8 −1
−1 −1 −1

En appliquant la formule, on obtient :
H1 (ω1 , ω2 ) = 9 − (2cos(ω1 ) + 1)(2cos(ω2 ) + 1)

Un autre
 exemple est:
−1 −1 −1

h2 = −1 +9 −1
−1 −1 −1

En appliquant la formule, on obtient :
H2 (ω1 , ω2 ) = 10 − (2cos(ω1 ) + 1)(2cos(ω2 ) + 1)

Les ltres h1 et h2 semblent très proches, mais on verra que les résultats de
ltrage sont visuellement très di érents.
Matlab permet de visualiser la réponse fréquentielle d'un ltre grâce à la fonction freq2, qui prend en paramètres le nom du ltre et le nombre de points
de calcul dans chaque dimension (en général une représentation sur une grille
32 × 32 est su sante). L'allure des réponses fréquentielles est indiquée sur la
gure suivante.

On remarque qu'il sagit de ltres de type passe-haut, puisqu'ils répondent plus
fortement lorsque |ω1 | ou |ω2 | est grand. En comparant les réponses fréquentielles, on remarquera que le second ltre laisse passer la valeur moyenne de
l'image car H2 (0; 0) = 1 alors que H
1 (0; 0) =0.
Un autre ltre utile est : h3 =

1
9

1 1 1

× 1 1 1
1 1 1

23

En appliquant la formule, on obtient :
H3 (ω1 , ω2 ) =

1
× (2cos(ω1 ) + 1)(2cos(ω2 ) + 1)
9

La réponse s'avère être de type passe-bas. Dans une image, les basses fréquences
correspondent à des variations lentes de l'intensité (zones uniformes), et les
hautes fréquences à des variations rapides(contours, bruit). Le ltrage d'une
image par un passe-bas donne une image oue, c'est à dire une image possédant
peu de hautes fréquences (les contours sont adoucis par le ltre). D'une manière
générale, un passe-haut accentue les contours et le bruit, tandis qu'un passebas réduit le bruit et adoucit les contours. Pour mieux comprendre l'e et de
ces ltres, on peut analyser le résultat du ltrage d'une image simple à travers
le programme suivant :
I=0.45*ones(12,12) ;
I(5 :8, 5 :8) = 0.55*ones(4,4) ;
F1 = lter2(h1, I) ;
F2 = lter2(h2, I) ;
F3 = lter2(h3, I) ;
subplot(2,2,1), imshow(I, 'notruesize') ;
title('image originale')
subplot(2,2,2), imagesc(F1(2 :end-1,2 :end-1))
title('image ltree par h1')
colorbar
subplot(2,2,3), imagesc(F2(2 :end-1,2 :end-1))
title('image ltree par h2')
colorbar
subplot(2,2,4),imshow(F3(2 :end-1,2 :end-1), 'notruesize')
title('image ltree par h3')
La gure suivante montre les résultats donnés par les trois ltres sur l'image
house. On remarquera qu'au niveau visuel les résultats donnés par les ltres h1
et h2 sont très di érents alors que leurs coé cients sont très proches. En première approximation, on peu dire que le ltre h2 est un réhausseur de contours,
alors que le ltre h1 est un extracteur de contours.

24

4.4.4 Utilisation de la transformée de Fourier
Il est également possible de réaliser le ltrage d'une image 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équentielle du ltre, et on calcule la transformée de
Fourier inverse du résultat. En e et, on a vu que le ltrage est lié à la convolution. On notera I l'image source, F l'image ltrée, h le ltre, et I, F, H, les
transformées de Fourier.
On a donc :
F (x, y) = (g ∗ I)(x, y)


F(u,v) = G(u,v) I(u,v)

où g(x, y) = h(−x, −y) et G(u, v) = H∗ (u, v)
Pour que le calcul dans le domaine fréquentiel soit aisé à programmer, il faut
que la transformée de Fourier soit discrète, c'est à dire que les indices (u,v)
soient entiers. Ceci sera réalisé si les fonctions F,h,I sont périodiques. On suppose donc que l'image est périodique, c'est à dire qu'elle se répète identique
à elle même hors de son support. On doit également supposer que le ltre est
25

périodique, sa période doit bien entendu être la même que celle de l'image. Si
la taille de l'image est N × M, on aura donc :
I(x + N, y + M ) = I(x, y)
I(x + N, y + M ) = I(x, y)
I(x + N, y + M ) = I(x, y)

La transformée de Fourier discrète est donnée par :

I(u, v) =

X

I(x, y) exp(−2iπ(

x,y

ux vy
+
))
N
M

Il en est de même pour H et pour F. Matlab calcule la transformée de Fourier
discrète grâce à la fonction t2. Voici le programme permettant de ltrer une
image en utilisant la transformée de Fourier :
I=imread('house.jpg') ;
I=rgb2gray(I) ;
I=double(I)/255 ;
Itfd= t2(I) ;
logItfd=log10(abs( tshift(Itfd))+eps) ;
gure, imagesc(logItfd), colorbar
title('spectre image source(echelle log)') ;
colormap(gray)
smax=max(max(logItfd)) ;
smin=min(min(logItfd)) ;
a=2 ; h=ones(2*a+1,2*a+1)/((2*a+1)*(2*a+1)) ;
hh=zeros(size(I)) ;
centre =ceil(0.5+size(I)/2) ;
hh(centre(1)-a :centre(1)+a, ...
centre(2)-a :centre(2)+a)=h ;
hh= tshift(hh) ;
H= t2(hh) ;
gure, imagesc(abs( tshift(H))), colorbar
title('spectre du ltre(echelle lineaire)') ;
colormap(gray)
Ftfd=conj(H).*Itfd ;
logFtfd=log10(abs( tshift(Ftfd))+eps) ;
gure, imagesc(min(max(logFtfd,smin),smax))
colorbar
title('spectre image ltree(echelle log)') ;
colormap (gray)
F=real(i t2(Ftfd)) ;
gure, imshow(F)
title ('image ltree, en utilisant la TFD') ;
26

4.4.5 Exemples d'application
4.4.5.1 Atténuation du bruit
Une application typique du ltrage est la réduction de bruit. Le bruit est
souvent un bruit haute-fréquence et il est donc possible de le réduire grâce à un
ltrage passe-bas de l'image. Bien entendu, ce ltrage passe-bas va également
réduire les hautes fréquences qui étaient naturellement présentes dans l'image,
et il en résultera un adoucissement des contours.

4.4.5.2 Atténuation du phénomène de Moiré
Le moiré est un phénomène particulièrement gênant, que chacun a eu l'occasion de voir à la télévision, par exemple lorsqu'un présentateur porte un costume à rayures nes. Des motifs structurés, généralement désagréables à l'oeil,
apparaissent dans l'image. Ce phénomène est dû à un repliement de spectre.
En e et, si par exemple une scène comporte des zones de variation rapide de
l'intensité, à une fréquence supérieure à la fréquence maximale représentable
dans l'image (rappelons que cette fréquence maximale est 0.5 cycles/pixel dans
les directions horizontales et verticales), alors on a un repliement de spectre.
Dans l'exemple ci-dessous, nous simulons ce phénomène et nous montrons qu'il
peut être fortement réduit grâce à un pré- ltrage. Nous créons tout d'abord une
grande image (taille 384 × 384) correspondant à une scène. Nous supposons
que cette scène est lmée par une caméra de résolution 96 × 96 pixels, ce qui
est simulé en sous-echantillonnant la grande image d'un facteur 4 dans chaque
direction.
L'image comporte une superposition de deux ondes concentriques de basse et
haute fréquence. La haute fréquence dépasse la fréquence maximale représentable dans l'image et un repliement de spectre apparaît. Au niveau visuel, ce
repliement donne les motifs visibles sur la gure suivante :

27

Une méthode e cace pour atténuer ce phénomène consiste à utiliser un ltre
passe-bas sur l'image initiale avant de la sous-echantillonner. Ce ltre est choisi
pour atténuer toutes les fréquences susceptibles de conduire à un repliement de
spectre.

4.4.6 Filtre Médian
On a vu qu'un ltre passe-bas permet de réduire un bruit haute-fréquence.
Toutefois, l'inconvénient de ce ltre est une impression de ou sur l'image débruitée. Il existe un ltre qui est capable de réduire certains types de bruits en
dégradant très peu les contours : il s'agit d'un ltre médian. C'est un ltre non
linéaire, il est particulièment e cace pour éliminer les bruits de type poivre et
sel, c'est à dire les bruits qui a ectent seulement un petit nombre de pixels,
mais en modi ant très fortement l'intensité des pixels touchés.
Le ltre médian a ecte à un pixel la valeur médiane des intensités dans son voisinage. Pour expliquer le fonctionnement du ltre médian, prenons un exemple
avec un voisinage de 3 × 3 pixels :
.7 .5 .3
.4 .2 .7
.6 .5 .2
28

Le ltre médian range par ordre croissant les intensités du voisinage :
.2 .2 .3 .4 .5 .5 .6 .7 .7
Il a ecte au pixel central (qui valait initialement 0.2) l'intensité qui se trouve
au milieu du rangement ci-dessus, c'est à dire 0.5. Autrement dit, le ltre médian retient une valeur d'intensité telle que dans le voisinage, il y ait autant
d'intensités supérieures que d'intensités inférieures à cette valeur.
On applique le ltre médian et le ltre passe-bas à une image de référence sur
matlab, en utilisant le programme suivant :
I= imread('MANDRILL.bmp') ;
subplot(2,2,1) ;
imshow(I) ;
I= rgb2gray(I) ;
I= double(I)/255 ;
subplot(2,2,2) ;
imshow(Ibruitee)
Imed= med lt2(Ibruitee) ;
subplot(2,2,3) ;
imshow(Imed)
pb = ones(5,5)/25 ;
Ipb = lter2(pb,Ibruitee) ;
subplot(2,2,4) ;
imshow(Ipd) ;

Et on remarque qu'à travers le ltre passe-bas le bruit à été atténué mais
pas éliminé, contrairement au ltre médian.
29

4.4.7 Application aux détections de contours
Les contours d'un objet permettent en général de caractériser sa forme. La
détection de contours peut être réalisée grâce à des ltres dont les coe cients
ont été soigneusement choisis. Dans cette partie, nous aborderons trois jeux de
ltres particuliers :
Les ltres de Prewitt.
Les ltres de Sobel.
Les ltres de Roberts.
Un jeu de ltres détecteurs de contours est constitué d'une paire de ltres linéaires, qui détectent les contours dans deux directions orthogonales (un ltre
vertical et un ltre horizontal). Certains ltres sont prédé nis sous Matlab, et
on peut les obtenir grâce à la fonction fspecial .
1. Les Filtres de Prewitt :
Les ltres de Prewitt sontles suivants : 
1
1
1

0
0
Filtre horizontal : h = 0
−1 −1 −1


1
1
1
0
0
Filtre vertical : v =  0
−1 −1 −1

A partir d'une image I, on calcule Gh et Gv , images correspondant au
ltrage de I par h et v. Ces images contiennent les contours horizontaux
et verticaux.
Si l'on souhaite obtenir une image de contour unique, ne tenant pas
compte de l'orientation, on calcule :
G=

q
G2h + G2v

Le programme et l'image traitée :

30

I= imread('frog.jpg') ;
subplot(2,2,1) ;
imshow(I) ;
I= rgb2gray(I) ;
I= double(I)/255.0 ;
subplot(2,2,2) ;
imshow(I) ;
seuil = 0.8 ;
h= fspecial('prewitt') ;
v=-h ;
Gh= lter2(h,I) ;
Gv= lter2(v,I) ;
G=sqrt(Gh.*Gh + Gv.*Gv) ;
Gs = (G>seuil) ;
subplot(2,2,3) ;
imshow(Gs)

2. Les ltres de Sobel :
Les ltres de Sobel sont les suivants :

31



1
Filtre horizontal : h =  0
−1

−1 0

Filtre vertical :v = −2 0
−1 0


2
1
0
0
−2 −1

1
2
1

Le programme et l'image traitée :
I= imread('frog.jpg') ;
subplot(2,2,1) ;
imshow(I) ;
I= rgb2gray(I) ;
I= double(I)/255.0 ;
subplot(2,2,2) ;
imshow(I) ;
seuil = 0.8 ;
h=fspecial('sobel') ;
v=-h' ;
Gh= lter2(h,I) ;
Gv= lter2(v,I) ;
G=sqrt(Gh.*Gh + Gv.*G) ;
Gs=(G>seuil*4/3) ;
subplot(2,2,3) ;
imshow(Gs) ;

32

3. Les ltres de Roberts :
Les ltres de Roberts sont les suivants :


1 0
0 −1


0 −1
Filtre vertical :b =
−1 0

Filtre horizontal : a =

Le programme et l'image traitée :

33

I= imread('frog.jpg') ;
subplot(2,2,1) ;
imshow(I) ;
I= rgb2gray(I) ;
I= double(I)/255.0 ;
subplot(2,2,2) ;
imshow(I) ;
a = [1 0 ;0 -1] ;
b = rot90(a,-1) ;
Ga = lter2(a,I) ;
Gb = lter2(b,I) ;
G = sqrt(Ga.*Ga + Gb.*Gb) ;
Gs = (G> seuil*1/3) ;
subplot(2,2,3) ;
imshow(Gs)

34

Chapitre 5
Conclusion

Les TIPE présents portent le nom du ltrage adapté. Dans ce travail, nous
avons d'abord dé ni le concept de manière mathématique, puis nous avons
illustré ses applications potentielles par le traitement d'images.
Nous avons élaboré également des applications informatiques qui s'appuient sur
la programmation sous Matlab en ce qui concerne l'application à l'atténuation
du bruit, l'atténuation du phénomène de Moiré et la détection de contours.
Chaque notion ou technique est exposée de façon à ce qu'elle soit implémentable et que les résultats soient explicables.
Nous avons assimilé durant l'élaboration de ce travail plusieurs connaissances
mathématiques, nous nous sommes approfondit sur plusieurs parties du programme du cycle préparatoire integré à l'Ecole Nationale des Sciences Appliquées.
Somme toute, ce travail est un cocktail de savoirs acquis pendant ce cycle.

35

Chapitre 6
Bibliographie

[1] André Quinquis. Le traitement du signal sous Matlab-pratique et applications.
[2] Antoine MANZANERA. Cours Master IAD. Traitement et reconnaissance
d'images.
[3] Diane Lingrand. Introduction au traitement d'images-2eme édition.
[4] Gilles Burel. Introduction au traitement d'images-1ere édition.
[5] Y Gagou. Cours traitement de signal. Université de Picardie Jules Verne.
[6] www.wikipedia.org
[7] http ://perso.ens-lyon.fr/patrick. andrin/CoursM2SCS ignal 5.pdf

36


Documents similaires


Fichier PDF corrige4
Fichier PDF programme theorie du signal
Fichier PDF compterendu
Fichier PDF theorie du signal
Fichier PDF corrige1
Fichier PDF filtrage adapte


Sur le même sujet..