ASI – Traitements d’images Prétraitements – Filtrage Le but de ce TP est de pratiquer et comparer différentes méthodes de prétraitements d'image.
Ce TP est composé de deux séances :
1- Réhaussement et modification d’histogramme.
2- Filtrage.
1. Génération de bruit « poivre et sel ».
Ecrire un programme matlab permettant de générer p pourcents de bruit uniforme blanc et noir sur une image.
Appliquez ce bruit sur vos images.
Remarque :
- La commande imnoise de la toolbox permet de rajouter du bruit.
- Utilisez la commande rand(x).
2. Filtrage Moyen.
Ecrire un programme permettant de réaliser un filtrage moyenneur de taille n=3 en utilisant deux boucles imbriquées. Appliquez ce filtrage sur vos images. Quel est son effet ?
Remarque :
- La commande fspecial de la toolbox crée des filtres prédéfinis.
3. Filtrage Médian.
Modifiez une instruction de votre programme précédent pour réaliser un filtrage médian de taille n=3.
Comparez les vitesses d’exécutions de vos programmes.
Appliquez ce filtrage sur vos images. Quel est son effet ? Remarque :
- La commande medfilter2 permet d’effectuer ce filtrage.
- utilisez la commande m = median(x).
4. La fonction filter2.
Utiliser la fonction filter2 pour réaliser : a- un filtre moyenneur.
b- Un filtre moyenneur circulaire.
La fonction filter2 possède un paramètre permettant de dire comment on prend en compte les effets de bord : same, valid et full.
Comparez les résultats avec les différentes options.
Remarque :
- analogue à imfilter.
5. Filtrage gaussien.
Ecrire une fonction matlab calculant la fonction d’étalement ponctuel (FEP) d’un filtre moyenneur gaussien à partir de sigma.
Appliquez ce filtre avec filter2 sur vos images.
Commentez vos résultats.
ASI – Traitements d’images Prétraitements – Filtrage 6. Filtrage pair et filtrage impair.
a- Générez une image carrée de taille 6 dont tous les pixels valent 1.
b- Montrez quels sont les résultats du filtrage de cette image par les filtres : H =
0 1 0 1 1 1 0 1 0
H =
0 1 1 0 1 1 1 1 0 1 1 0
H =
0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 7. Filtre décomposable.
Un filtre représenté par la matrice H est décomposable s’il existe deux vecteurs a et b tels que :
H = a * b’ ;
Lorsque le filtre est décomposable, il est possible d’implémenter très efficacement le filtrage sous matlab.
a- Ecrire un programme matlab efficace de filtrage moyen avec n=3.
b- Illustrez et commentez vos programmes sur différentes images.
c- Proposez une méthode permettant de décomposer automatiquement un filtre lorsque cela est possible.
Astuce : utiliser la commande [u,v,d] = svd(H).
La première semaine, vous répondrez aux questions 1 à 4, réservant les questions 5 à 6 pour la semaine suivante.