看板 MATLAB 關於我們 聯絡資訊
各位板友,大家好~ 最近有一項關於電腦全像術(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
yadakaky:私以為取log是因為你轉換後在最中間的值極大 導致顯示 12/26 17:17
yadakaky:對比差太多 你實際把值取出來畫1D的看就知道了 ^^" 12/26 17:18
Raymond0710:類似將座標軸取成log-scale 12/26 23:57