分享

傅立叶变换频谱图怎么看?

 quasiceo 2016-01-16

傅立叶变换频谱图怎么看?

I = imread('rice.png');
 figure;
 subplot(1, 2, 1);
 imshow(I);
 title('原图');
f = fft2(I);
 f = fftshift(log(1+abs(f)));
 subplot(1, 2, 2);
 imshow(f, []);
 title('频谱图');

f= imread('rice.png');
 f=im2double(f);
 F=fft2(f,256,256);
 F2=fftshift(F);
 F3=log(1+abs(F2));
 figure(2)
 subplot(1,2,1);
 imshow(f);
 title('源图像');
subplot(1,2,2);
 imshow(F3);
 title('傅里叶频谱');

上面代码得到的频谱图该怎么看?

图像的log频谱又是指什么?

知乎用户,计算成像
谢邀。

第一张图展示了频谱,注意:
0) fft2() 函数得到的傅里叶变换是低频在四周的。为了获得更好的直观的感受,人们经常用fftshift() 调整结果以使得低频在中央。
1) 频谱是复数,为了用二维图像展示频谱,就取了绝对值;
2) 由于频谱的动态范围太大,而显示器的动态范围有限,所以用log变换降低频谱的动态范围。
3) MATLAB的imshow函数,第二个输入变量是"[]"的时候,imshow会自动拉伸动态范围使得图像对比度提升。

看频谱一般看:
1) 幅度谱。即第一张图的右图,观察图像的频率分布,哪里亮哪里暗。
2) 相位谱。用得不多,一般在需要对比的时候会用到。

第二张图显示的也是频谱,与第一张的唯一区别就是imshow中第二个输入变量不是"[]",而是缺省。这时候MATLAB会不自动进行动态范围拉伸,而以[0,1]为显示区间。而大部分频谱的绝对值都是大于1的,所以得到的结果大部分都是白色的。

两张图从信号处理的角度看没有任何区别,只是imshow用得不一样,就产生了看上去不一样的结果。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多