%实验4、找一张有横条或坚条噪声的照片,用图像处理方法来去除它
clear all;
clc
A=imread('lenaz.tif');
figure
subplot(2,2,1);
imshow(A);
title('原图')
B=fft2(double(A)); %计算图像A的傅里叶变换
%把低频分量移到图象中心,而把高频分量移到四个角上
B=fftshift(B);
%FFT增强
subplot(2,2,2);
imshow(log(1+abs(B)),[]);
title('原图的频谱')
[m,n]=size(B);
r=26;
for i=1:m
for j=1:n
if ((i^2+(j-n/2)^2)<r^2)
h(i,j)=0;
elseif (((i-m/10)^2+(j-n/2)^2)<r^2)
h(i,j)=0;
elseif (((i-(2*m)/10)^2+(j-n/2)^2)<r^2)
h(i,j)=0;
elseif (((i-(3*m)/10)^2+(j-n/2)^2)<r^2)
h(i,j)=0;
elseif (((i-(4*m)/10)^2+(j-n/2)^2)<(r-8)^2)
h(i,j)=0;
elseif (((i-(6*m)/10)^2+(j-n/2)^2)<(r-8)^2)
h(i,j)=0;
elseif (((i-(7*m)/10)^2+(j-n/2)^2)<r^2)
h(i,j)=0;
elseif (((i-(8*m)/10)^2+(j-n/2)^2)<r^2)
h(i,j)=0;
elseif (((i-(9*m)/10)^2+(j-n/2)^2)<r^2)
h(i,j)=0;
elseif (((i-m)^2+(j-n/2)^2)<r^2)
h(i,j)=0;
else
h(i,j)=1;
end
FF(i,j)=B(i,j).*h(i,j);
end
end
subplot(2,2,3);
imshow(log(1+abs(FF)),[]);
title('频域滤波后的频谱')
FA=ifft2(FF);
subplot(2,2,4);
imshow(abs(real(FA)),[0 255]);
title('滤波后还原出的图像')