I=imread('test.jpg');
I=rgb2gray(I);
imshow(I);
figure;
[f1 f2]=freqspace(size(I),'meshgrid'); %分隔成网状的区间
D=0.4; %截止频率
n=1;
Hd=ones(size(I)); %用于保存滤波器二维数组
r=sqrt(f1.^2+f2.^2); %计算到原点的距离r
for i=1:size(I,1) %butterworth滤波器公式构建
for j=1:size(I,2)
t=r(i,j)/(D*D);
Hd(i,j)=1/(t^n+1);
end
end
Y=fft2(double(I)); %使用傅里叶变换转到频谱空间
Y=fftshift(Y);
Ya=Y.*Hd; %对频谱进行滤波
Ya=ifftshift(Ya);
Ia1=ifft2(Ya); %还原图像
imshow(uint8(Ia1));
I=rgb2gray(I);
imshow(I);
figure;
[f1 f2]=freqspace(size(I),'meshgrid'); %分隔成网状的区间
D=0.4; %截止频率
n=1;
Hd=ones(size(I)); %用于保存滤波器二维数组
r=sqrt(f1.^2+f2.^2); %计算到原点的距离r
for i=1:size(I,1) %butterworth滤波器公式构建
for j=1:size(I,2)
t=r(i,j)/(D*D);
Hd(i,j)=1/(t^n+1);
end
end
Y=fft2(double(I)); %使用傅里叶变换转到频谱空间
Y=fftshift(Y);
Ya=Y.*Hd; %对频谱进行滤波
Ya=ifftshift(Ya);
Ia1=ifft2(Ya); %还原图像
imshow(uint8(Ia1));