Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
ET DE LA RECHERCHE SCIENTIFIQUE
Département Génie Électrique
Master 1 Systèmes de Télécommunications
Année Universitaire 2020/2021
TP N° 3 Traitement d’images : Transformations locales
Objectif : On distingue deux types de traitements: linéaire (filtre à convolution) et non linéaire (filtre d’ordre statistique).
Ces traitements ont pour effet : l’atténuation de l’effet du bruit (filtre passe bas) ou l’extraction des contours (filtre passe
haut).
• Filtre linéaire : C’est l’application du produit de convolution entre une image et un filtre. Sous Matlab on peut
réaliser cette opération en utilisant la commande :
I_filtred = imfilter(I_original, h);
h est le noyau du filtre. Différents types de filtre peuvent être crées avec la commande:
h = fspecial(type, parameters)
Types Description
'average' Filtre moyenneur
'disk' Filtre moyenneur circulaire
'gaussian' Filtre passe bas Gaussien
'laplacian' Opérateur Laplacien
'log' Laplacien d’une Gaussienne
'motion' Mouvement linéaire d'une caméra
'prewitt' Filtre accentuant les bords horizontaux Prewitt
'sobel' Filtre Sobel accentuant les bords horizontaux
Travail demandé :
On vous demande de :
1. Écrire un programme qui vous permet d’améliorer la qualité d’images dégradée par un bruit de speckle (taux de 10%),
à l’aide des filtres: Moyenneur, Gaussien et Médian, avec le calcul du PSNR pour chaque cas.
2. Classer ces trois filtres. Quels est le filtre le mieux adapté à ce type de bruit.
3. Quel est l’effet constaté lorsqu’on augmente le noyau de ces filtres ?
4. À l’aide des commandes tic et toc qui nous permettent de mesurer le temps d’exécution de chaque filtre, démonter
lequel de ces deux filtres présente des performances en termes de temps d’exécution par rapport à l’autre.
1
Dr Bouledjfane Badreddine (badreddine.bouledjfane@gmail.com)
close all;clear; clc; figure,
I=imread('cameraman.tif'); figure,
subplot(121),imshow(I);
I_average=imfilter(I,h_average); subplot(122),imshow(I_prewitt);
I_disk=imfilter(I,h_disk); figure,
I_gaussian=imfilter(I,h_gaussian); subplot(121),imshow(I);
I_laplacian=imfilter(I,h_laplacian); subplot(122),imshow(I_sobel);
I_motion=imfilter(I,h_motion); I_med=medfilt2(I_noise,[3,3]);
subplot(122),imshow(I_average); figure,
figure, subplot(1,3,1),imshow(I);
subplot(121),imshow(I); subplot(1,3,2),imshow(I_noise);
subplot(122),imshow(I_disk); subplot(1,3,3),imshow(I_med);
figure,
subplot(121),imshow(I);
subplot(122),imshow(I_gaussian);
2
Dr Bouledjfane Badreddine (badreddine.bouledjfane@gmail.com)