s1091703 作業3
作業題目:離散傅立葉轉換 DFT 練習
題目說明:
撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖 像轉換至頻域後,將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出,再呈現還 原後圖像。
開發環境:
Window10 + Visual Studio 2022 + OpenCV 3.4.6 + C++
程式說明:
copyMakeBorder():將圖像擴大。
merge():合併。
split():區分實部及虛部。
eg.將儲存複數的P[2]合併。
magnitude():計算幅度
phase():計算角度
copyTo():將一變數複製到另一變數中。
-----------------------------------------------------
->將計算好幅度的變數+1,防止log0,利用log將數級縮小,再利用normalize()進行歸一化。
->利用idft()進行逆傅立葉轉換,及normalize()進行歸一化,最後再將類型轉成CV_8U輸出。
成果:
原圖:
相位圖:
留言
張貼留言