clc;
clear;
close all
set( figure, 'Color','w');
% 读入原始图像
I = rgb2gray(imread('fig3__.jpg'));
subplot(221);
imshow(I);
title('带有正弦噪声原图像');
% 求离散傅立叶频谱并变换中心
J = fftshift(fft2(I));
subplot(222);
imshow(log(abs(J)),[8,10]); %% 画频谱图
title('原图频谱');
%观察为中心点(50,210)
% 设计带阻滤波器,半径为round
H = ones(256,256);
round =5;
for i = -round:round
for j = -round:round
if i^2 + j^2 <= round^2
H(82+i,83+j) = 0;
H(82+i,176+j) = 0;
H(176+i,82+j)= 0;
H(176+i,176+j) = 0;
end
end
end
T =(1.-H).*J;
subplot(223);
imshow(log(abs(T)),[8,10]); %% 噪声近似频谱图
title('滤波之后的噪声频谱图');
subplot(224);
f = ifft2(ifftshift(T)); %% 噪声模型
imshow(uint8(abs(f)));
title('噪声图像');