Vous êtes sur la page 1sur 4

COMPTE RENDU TP4

TRAITEMENT D’IMAGE
Restauration par Filtrage

JEBRI MEJDI
3EME MÉCATRONIQUE GROUPE D
Objectif :
- Analyser des images dégradées par des différents types de bruits.
- Restaurer les images avec des différents techniques de filtrage.
I. Génération des bruits :
Code et interprétation Simulation
function [A B C]=Generbrim(image)
A=imnoise(image,'salt & pepper', 0.02);
B=imnoise(image,'gaussian',0, 0.01);
C=imnoise(image,'poisson');

clc; clear all; close all


Im1=imread('lena.bmp');
[A B C]=Generbrim(Im1);
figure(1),subplot(411)
imshow(Im1), title('Initial');
subplot(412)
imshow(A)
title('bruit sel&poivre');
subplot(413)
imshow(B)
title('bruit gaussian');
subplot(414)
imshow(C)
title('bruit poisson');

La fonction Generbrim prend comme entrée l’image, et retourne


trois images bruité.

II. Technique de restauration par filtrage :


Filtrage linéaire d’une image en niveaux de gris
Code et interprétation Simulation
clc; clear all; close all
Im1=imread('scan.bmp');
h=(1/9)*ones(3,3);
Im1f=conv2(Im1,h);
figure(1),subplot(211)
imshow(Im1),title('Initial');
subplot(212)
imshow(uint8(Im1f));
title('filtrer');

h1 = fspecial('average', [3 3]);
h2 = fspecial('average', [5 5]);
h3 = fspecial('average', [7 7]);
f1=imfilter(Im1,h1);
f2=imfilter(Im1,h2);
f3=imfilter(Im1,h3);
figure(2),subplot(411)
imshow(Im1), title('Initial');
subplot(412)
imshow(uint8(f1));
title('filtre1');

1
JEBRI MEJDI
subplot(413)
imshow(uint8(f2));
title('filtre2');
subplot(414)
imshow(uint8(f3));
title('filtre3');

Le filtre moyenneur [3 3] permet de


retourner le meilleur résultat

function [E P]=calcule(im,imf) clc; clear all; close all


[m n]=size(im); Im1=imread('scan.bmp');
s=0; h1 = fspecial('average', [3 3]);
for i=1:m f1=imfilter(Im1,h1);
for j=1:n [E P]=calcule(double(Im1),double(f1));
s = (im(i,j)-imf(i,j))^2 + s;
end
E=
end
E=s/(m*n) 0.0284
P=(10*log10(255*255/E)) P=
%-----------------------------% 63.5930
s1=sum(sum((im(i,j)-
imf(i,j))^2));
E1=s1/(m*n)
PSNR plus grand mieux l’image filtré sera
P1=(10*log10(255*255/E1)) ;
Filtrage linéaire d’une image couleur
clc; clear all; close all
Im1=imread('clowm.bmp');
h1 = fspecial('average', [3 3]);
[I J K]=Generbrim(Im1);
A=J(:,:,1);
B=J(:,:,2);
C=J(:,:,3);
A1=imfilter(A,h1);
B1=imfilter(B,h1);
C1=imfilter(C,h1);
Imf(:,:,1)=A1;
Imf(:,:,2)=B1;
Imf(:,:,3)=C1;
figure(1),subplot(121)
imshow(Im1)
title('initial')
subplot(122),imshow(Imf) Le filtrage de l’image couleur se fait matrice par matrice
title('filtrer');
Filtrage non linéaire
clc; clear all; close all
Im1=imread('cameraman.tif');
h1 = fspecial('average', [3 3]);
[I J K]=Generbrim(Im1); %I
figure(1),subplot(221)
imshow(Im1)
title('Initial');
subplot(222)
imshow(I)
title('bruité');
subplot(223)
imhist(Im1), xlim([-10 270]);
subplot(224)
imhist(I), xlim([-10 270]);

2
JEBRI MEJDI
Le bruit permet l’apparition de
nouvelles valeurs de pixels aux
extrémités

clc; clear all; close all


Im1=imread('cameraman.tif');
h1 = fspecial('average', [3 3]);
[I J K]=Generbrim(Im1); %I
Im2=medfilt2(I);
min=ordfilt2(I,1,ones(3,3));
max=ordfilt2(I,9,ones(3,3));
medi=ordfilt2(I,5,ones(3,3));
figure(1),subplot(321)
imshow(Im1)
title('Initial');
subplot(322)
imshow(I);
title('bruit');
subplot(323)
imshow(min);
title('min');
subplot(324)
imshow(max);
title('max');
subplot(325)
imshow(medi);
title('median');
subplot(326)
imshow(Im2);
title('medfild');
Le filtre minimum, qui prend les valeurs
minimales autour des points bruitées,
l’image devient plus foncée avec
plusieurs taches noires, contrairement
au filtre maximum qui lui permet
d’avoir une image plus claire avec
plusieurs taches blanches.
Le filtre médian permet d’avoir une
image de meilleur qualité.

3
JEBRI MEJDI

Vous aimerez peut-être aussi