一、
作業說明
離散傅立葉轉換DFT練習
請撰寫一個程式,讀取一張 256 色灰階圖像(圖像大小適中以免執行時間太久)。計 算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
二、
作業環境
1.
OS:Windows 10
2.
Visual Studio 2017+OpenCV3.4.1 Debug x64
三、
操作步驟
1.
IMREAD_GRAYSCALE
讀取灰階影像
2.
影像填充
(1)
padded延展邊界
(2)
使用getOptimalDFTSize(image.rows)和getOptimalDFTSize(image.cols)取得最佳DFT變化尺寸
3.
增加通道
(1)
copyMakeBorder(image,
padded, 0, m - image.rows, 0, n - image.cols, BORDER_CONSTANT)
(2)
Scalar::all(0)
全部scalar內的元素設為0
4.
planes[
]分成實部和虛部
(1)
planes[0]為實部
(2)
planes[1]為虛部
5.
dft
傅立葉轉換
6.
magnitude
轉成頻譜
7.
log(
) 將線性尺度轉成對數尺度
8.
改變象限,將高頻調整到影像正中間
(1)
將資料分成四個象限
(2)
對角的象限交換位置
9.
normalize
標準化
10.
phase
相位
四、
圖片
1.
原圖
2.
左圖為標準化
右圖為相位
沒有留言:
張貼留言