灰度图像的频率域滤波——巴特沃斯(Butterworth)低通滤波器(Matlab)

clc;
clear all;
close all;

%读入图像,并转换为double型
I=imread('D:\Gray Files\4-41.tif');
I_D=im2double(I);
%获得图像的高度和宽度
[M,N]=size(I_D);
%图像中心点
M0=M/2;
N0=N/2;
J=fft2(I_D);
J_shift=fftshift(J);

%%%%%%%============巴特沃斯(Butterworth)低通滤波器======================
%滤波器的阶数,巴特沃斯以二阶最为有效,灰度级的负数几乎为零,振铃现象很微小
n=2;
%截至频率距离圆点的距离
D0=20;
for x=1:M
    for y=1:N
        %计算点(x,y)到中心点的距离
        d=sqrt((x-M0)^2+(y-N0)^2);
        %计算巴特沃斯滤波器
        h=1/(1+(d/D0)^(2*n));
        %用滤波器乘以主函数
        J_shift(x,y)=J_shift(x,y)*h;
    end
end

J=ifftshift(J_shift);
I_D_rep=ifft2(J);
imshow(I_D_rep,[]);

 

  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值