matlab显示图像频谱

将以下代码保存为m文件:

function display_spectrums(file)

img=imread(file);
img=rgb2gray(img);
img=double(img);
f=fft2(img);
f=fftshift(f);
magnitude=log(1+abs(f));
subplot(2,1,1),imshow(magnitude,[]),title('图像幅度谱');
phase=(1+angle(f)/pi)*255;

subplot(2,1,2),imshow(phase,[]),title('图像相位谱');

调用时输入:display_spectrums('文件名')即可输出图像的幅度谱和相位谱。

由于幅度值范围很大,所以要取对数处理;由于相位在(-pi, pi]之间,所以要线性变换到(0, 255]的范围。

  • 10
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值