s1091533 作業3
作業3說明
題目:
離散傅立葉轉換 DFT 練習 撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖像轉換至頻域後,將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出,再呈現還原後圖像。
開發環境:
Windows 10 + Visual Studio Code + OpenCV 4.7.0 + Python
程式說明:
(a)傅立葉轉換
1.cv2.dft(): 做離散傅立葉轉換。
2.np.fft.fftshift():移頻,將低頻部分移動到影像的中心。
(b)頻譜大小
1.cv2.magnitude():計算由實部和虛部部組成的複數大小。
2.np.log():對傅立葉轉換的結果進行對數變換,以便可視化頻域訊息。
(c)相位角度
1.np.angle():計算相位角度。
(d)反傅立葉轉換
1.np.fft.ifftshift():將高頻部分移動到影像的中心。
2.cv2.idft():做反離散傅立葉轉換。
3.cv2.magnitude():計算反離散傅立葉轉換後的影像大小。
(e)顯示結果
1.套用matplotlib,用plt.imshow()將結果顯示出來。
Demo:
留言
張貼留言