s1081539 作業3
主題: 離散傅立葉轉換
說明:撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖像轉換至頻域後,將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出,再呈現還原後圖像。
1.開發環境
Windows 10
Visual Studio 2019
C++
OpenCV 4.7.0
2.實作
先以灰階模式(IMREAD_GRAYSCALE)讀入圖片並確認是否讀取成功。
用getOptimalDFTSize()和copyMakeBorder()為DFT轉換做前置作業,
接著就可以用dft()對圖像進v行轉換,再用split()跟magnitude()就可以取得圖像的頻譜圖,
圖像的相位圖則是用phase()得出,
在用imshow()之前要先對頻譜圖跟相位圖做歸一化(normalize())。
重建圖像的部分則是用idft(),然後一樣要在放出圖像之前進行歸一化的動作。
3.結果
影片
4.參考
DFT:https://blog.csdn.net/gxiaoyaya/article/details/72460483
Phase:https://blog.csdn.net/long0801/article/details/77713797
留言
張貼留言