作者granger910 (慵懒的猫)
看板MATLAB
标题[问题] 影像傅立叶转换(FFT)後的绘图(imshow)
时间Mon Dec 26 16:45:54 2011
各位板友,大家好~
最近有一项关於电脑全像术(CGH)的作业,
讨论影像经过2-f的成像系统,在底片上形成傅立叶转换的图案。
老师要求把影像经过傅立叶转换(fft2)後,把"fft2後的结果画出来"。
1.我采用的作法是:
CGH = imshow(abs(fftshift(fft2(InputImage))));
但是画出来的影像非常暗,只有中心有一点亮点,其余的点都非常暗。
2.在网路上查到的结果,似乎必须用:
CGH = imshow(log(abs(fftshift(fft2(InputImage)))));
画出来的结果就非常清晰,可以看到整个结果。
想要请教各位高手,为什麽傅立叶转换的结果,还要再取一次log呢?
如果是做Gamma Correction我就可以理解,但是取log值的意义是为什麽呢?
(P.S InputImage跟fft2的结果,都有另外做过Normalization)
第一次发文,希望大家不吝指教。
感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.165.235
1F:推 yadakaky:私以为取log是因为你转换後在最中间的值极大 导致显示 12/26 17:17
2F:→ yadakaky:对比差太多 你实际把值取出来画1D的看就知道了 ^^" 12/26 17:18
3F:推 Raymond0710:类似将座标轴取成log-scale 12/26 23:57