您的位置:首页 > 其它

butterWorth低通滤波器

2015-10-29 22:07 246 查看
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));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: