s1093336 作業3
一、作業說明
撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖像轉換至頻域後,將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出,再呈現還原後圖像。
二、開發環境
OS: Windows 11 64bit
Editor: Visual Studio 2019
Language: C++
Package: OpenCV-4.5.0
三、程式功能
四、實作過程
- 整張圖像轉化為灰階。
- 用getOptimalDFTSize取得最佳的DFTSize數值為2次方。
- 用copyMakeBorder將圖片不足最佳化的邊緣處填上0。
- 建立雙通道矩陣plans儲存DFT後虛部與實部。
- plotMagnitude
- 用split將虛實部分別存至plans。
- 用magnitude將DFT後的結果轉換成振幅值。
- 將圖片分成q0、q1、q2、q3。
- swap(q0,q3) / swap(q1,q2)。
- normalize
- output image
- plotPhase
- 用split將虛實部分別存至plans。
- 歷遍對虛實做arctan。
- swap(q0,q3) / swap(q1,q2)。
- normalize
- output image
- Recover
- 直接進行IDFT。
- normalize
- output image
留言
張貼留言