s1071413 作業3
一、作業說明
離散傅立葉轉換 DFT 練習
撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖像轉換至頻域後,將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出,再呈現還原後圖像。
二、開發環境
- Windows10
- Visual Studio 2019
- C++
- OpenCV 4.7.0
三、程式說明
在第9行讀取圖片檔案
15~18行:
創建Mat padded用來填充圖像。
計算圖像的最佳DFT大小,然後使用copyMakeBorder()來填充圖像,使圖像大小為2的次方以進行FFT。
19~23行:
將Mat padded轉換為複數型態,然後使用dft()進行傅立葉轉換。
接下來程式分成3個階段:
Step 1.進行 DFT 轉換,並移動零頻到頻譜中心。這樣一來低頻成分就移到了頻譜的中心。得到頻譜圖。
Step 2.將頻譜大小和相位角度轉換成 8 位灰階圖像。得到向位角度圖。
Step 3.進行逆傅利葉轉換,得到還原後的圖像。
最後,用imshow()顯示三個圖像。
四、成果展示
"Phase Spectrum"(向位圖)
留言
張貼留言