Sie sind auf Seite 1von 9

Program

I=imread('cameraman.tif');
figure,imshow(I);
title('Original image');
I1=double(I)+1;
[r c]=size(I1);
for i=1:r
for j=1:c
x=I1*(-1)^(i+j);
end
end
y=fft(I1);
[r1 c1]=size(y);
for i=1:r1
for j=1:c1
%

D(i,j)=sqrt((r1-(r1./2).^2)+(c1-(c1./2).^2));
D(i,j)=sqrt(((i-r1/2)^2)+((j-c1/2)^2));
end

end
for i=1:r1
for j=1:c1

n=3;
H(i,j)=1/(1+(50/D(i,j))^(2*n));
end
end
mul=y.*H;
inv=ifft(mul);
rel=real(inv);
[r2 c2]=size(rel);
for i=1:r2
for j=1:c2
z=rel*(-1)^(i+j);
end
end
out=uint8(z);
figure,imshow(out);
title('bw filter');
figure,plot(D,H);
title('BW Plot');
for i=1:r1
for j=1:c1
d1=500;
H1(i,j)=exp(-(D(i,j).^2)./(2*(d1.^2)));
end

end
mul1=y.*H1;
inv1=ifft(mul1);
rel1=real(inv1);
[r3 c3]=size(rel1);
for i=1:r3
for j=1:c3
z1=rel1*(-1)^(i+j);
end
end
out1=uint8(z1);
figure,imshow(out1);
title('Gaussian filter');
figure,plot(D,H1);
title('Gaussian Plot');

Output

Das könnte Ihnen auch gefallen