s1081444 作業3
Assignment #3
主題:離散傅立葉轉換 DFT 練習
功能:
撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖
像轉換至頻域後,將頻譜大小與相位角度各以灰階256 色圖像方式呈現出,再呈現還
原後圖像。
開發環境:
Windows 10
Visual Studio 2022
OpenCV 4.2.0
C++
使用函數:
imread(input, IMREAD_GRAYSCALE):灰階讀取圖片
copyMakeBorder(src, pad, 0, P - src.rows, 0, Q - src.cols, BORDER_CONSTANT, Scalar::all(0)):增加邊界
merge(planes, 2, complexImg):合併虛實部
dft(complexImg, complexImg):傅立葉轉換
split(complexImg, planes):分離虛實部
magnitude(planes[0], planes[1], magnitudeImg):算頻譜圖
log(magnitudeImg, magnitudeImg):計算自然對數
normalize(magnitudeImg, magnitudeImg, 0, 1, NORM_MINMAX):標準化圖片
phase(planes[1], planes[0], phaseImg):算相位圖
idft(G, G):傅立葉逆轉換
imshow("Result", magnitudeImg3):顯示圖片
執行結果:
頻譜圖
相位圖
還原圖
留言
張貼留言