Vous êtes sur la page 1sur 2

Travaux Pratiques

Introduction au filtrage numérique


d'images
Objectif : observer l'effet de filtres numériques à réponses impulsionnelles finis sur des images.

La banque d'image provient de https://github.com/Sammed98/Wiener-Filter-Matlab.

Introduction au filtrage numérique d'images


1/ Visualisation d'image et Transformée de Fourier
2/ Filtre passe-bas
3/ Filtre passe-haut
4/ Filtre différentiels orientés
5/ Sous-échantillonnage et crénelage (aliasing)

1/ Visualisation d'image et Transformée de Fourier


1. Charger l'image 1.gif avec la fonction imread dans une variable I . Ne pas hésiter à
changer régulièrement d'image pour généraliser vos différentes observations.
2. Afficher l'image avec la fonction imshow .
3. Calculer la Transformée de Fourier Discrète (TFD) 2D de l'image avec fft2 .
4. Calculer ensuite le spectre 2D, centré avec fftshift .
5. Sous le graphe précédent ( subplot ), afficher le spectre (en échelle log décimale) avec la
fonction imshow , en spécifiant un vecteur vide [] comme paramètre de limites pour bien
utiliser les niveaux de gris.
6. Donner votre interprétation du spectre en terme de textures et détails sur l'image originale.

2/ Filtre passe-bas
1. Créer la réponse impulsionnelle (RI) h_pb d'un filtre moyenneur 2D de taille 5x5.
2. Filtrer l'image avec la fonction conv2 en faisant attention à la taille de l'image filtrée.
3. Afficher côte à côte sur la même figure : l'image originale et l'image filtrée ; ainsi que leurs
spectres sous chacune d'elles.
4. Commenter l'effet du filtre sur les textures et détails de l'image.

3/ Filtre passe-haut
1. Créer une RI de filtre passe-tout de taille , c'est-à-dire une matrice de avec un au
milieu.
2. Vérifier qu'en convoluant l'image I avec cette RI, on ne l'altère pas du tout.
3. Créer une RI h_ph de filtre passe-haut à partir des filtres passe-bas et passe-tout.
4. Afficher les valeurs h_ph dans le terminale et vérifier que leur somme est bien nulle.
5. Filtrer l'image I avec le passe-haut.
6. Afficher sur une même figure : l'image originale, l'image passe-bas et l'image passe-haut ;
ainsi que leurs spectres respectifs en dessous de chacune. Commenter.

Page 1 / 2
4/ Filtre différentiels orientés
Images recommandées : 1, 2 et 7.

Nous avons jusqu'ici appliqué des filtres carrés avec le même effet vertical qu'horizontal. On peut
créer un filtre orienté suivant une seule direction, par exemple un filtre différentiel vertical h=
[-1;1] .

1. Créer la RI h_verti d'un filtre différentiel vertical et l'appliquer sur I avec conv2 .
2. Créer la RI h_horiz d'un filtre différentiel horizontal et l'appliquer sur I avec conv2 .
3. Afficher sur une même figure : les images filtrées horizontalement et verticalement ainsi que
leurs spectres.
4. Quelle plage de fréquence est filtrée par un filtre différentiel ? Quel est l'effet de l'orientation
?

5/ Sous-échantillonnage et crénelage (aliasing)


Images recommandées : 1, 7 et 10.

1. Produire une version sous-échantillonnée de l'image, en ne conservant qu'1 point sur 4.


2. Afficher l'image et son spectre.
3. Reproduire le sous-échantillonnage mais sur l'image filtrée passe-bas et afficher le résultat à
côté de l'image précédente.
4. Que remarque-t-on (par exemple sur le nez de l'avion dans 10.gif ) ?

Page 2 / 2

Vous aimerez peut-être aussi