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):顯示圖片

執行結果:

頻譜圖

相位圖

還原圖


留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1