[問題] 影像傅立葉轉換(FFT)後的繪圖(imshow)

看板MATLAB作者 (慵懶的貓)時間14年前 (2011/12/26 16:46), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
各位板友,大家好~ 最近有一項關於電腦全像術(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

12/26 17:17, , 1F
私以為取log是因為你轉換後在最中間的值極大 導致顯示
12/26 17:17, 1F

12/26 17:18, , 2F
對比差太多 你實際把值取出來畫1D的看就知道了 ^^"
12/26 17:18, 2F

12/26 23:57, , 3F
類似將座標軸取成log-scale
12/26 23:57, 3F
文章代碼(AID): #1E-3H96c (MATLAB)