butterWorth低通滤波器

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));

你可能感兴趣的:(butterWorth低通滤波器)