matlab每日学习 图片滤波

我们在matlab中对图(1)做频谱上的分析,将下图保存为本地图片“fft.jpg”

matlab每日学习 <wbr>图片滤波


图(1)

运行matlab,在命令窗口中输入

im_file=imread('D:\matlab\fft.jpg');%读者可以根据自己的fft.gif图片所在位置修改imread函数参数

im_gray=rgb2gray(im_file);

im_Ft=fft2(im_gray);%对灰度图进行二维傅里叶变换

im_iFt=fftshift(im_Ft););%为了便于观察和处理,对矩阵调整。不懂的可以查看fftshift函数功能

im_abs=abs(im_iFt);%对傅里叶变换取幅值

surf(im_abs),shading interp;%画出幅值图,结果如下图(2)所示


 图(2)

 调整一下角度,可以看到低频率成分在中间,而且幅度非常大,而随着频率的增加,衰减得非常快,如下图(3)所示


图(3)

可以试着滤除图3中十字形的区域以外的蓝色(蓝色表示幅度小)部分。将im_iFt矩阵四个边角的60个像素为边长的正方形区域全部置0。

im_iFt=im_S2;
im_S2(1:60,1:60);
im_S2(1:60,1:60)=0;
im_S2(128:189,1:60)=0;
im_S2(128:189,118:179)=0;
im_S2(1:60,118:179)=0;
im_S2=ifftshift(im_S2);
i_imfile=ifft2(im_S2);
imwrite(real(i_imfile),'iFt.jpg','jpg');

最后保存为iFt.jpg图片,输出结果如下图所示

matlab每日学习 <wbr>图片滤波



 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值