1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| close all ,clear all
I=imread('House.ppm');
J=double(I)/255;%changement de type des pixels en double
gray = mean (J,3);
arrondir=floor(gray*255);
%filtre passe bas:
F=fftshift(fft2(arrondir));
%calcul de la taille de l'image;
M=size(F,1);
N=size(F,2);
H0=zeros(M,N);
D0=50;
D1=75;
D2=100;
M2=round(M/2);
N2=round(N/2);
H0(M2-D0:M2+D0,N2-D0:N2+D0)=1;
H1(M2-D1:M2+D1,N2-D1:N2+D1)=1;
H2(M2-D2:M2+D2,N2-D2:N2+D2)=1;
for i=1:M
for j=1:N
G0(i,j)=F(i,j)*H0(i,j);
G1(i,j)=F(i,j)*H1(i,j);
G2(i,j)=F(i,j)*H2(i,j);
end
end
g0=ifft2(G0);
g1=ifft2(G1);
g2=ifft2(G2);
subplot(2,2,1);imshow(gray);title('image originale');
subplot(2,2,2);imshow(abs(g0),[0,255]);title('image filtrée');
subplot(2,2,3);imshow(abs(g1),[0,255]);title('image filtrée');
subplot(2,2,4);imshow(abs(g2),[0,255]);title('image filtrée'); |
Partager