1. 作業說明:
撰寫一個程式,讀取一張256色灰階圖像
(1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出
(2)對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。
2.開發環境:
- Windows 10
- Visual Studio 2019
- OpenCV3.4.6
- C++
3.實作方法:
- 將圖片進行padding
- 傅立葉轉換後要存取實部和虛部的地方
- 用merge()合起來
- 進行傅立葉轉換dft()
- 用split()分離出實部和虛部
- 使用magnitude()和phase()算出頻譜圖和象位角
- 用filter與前面傅立葉轉換的結果相乘再用idft()取逆傅立葉轉換
- 以magnitude()和normalize()得到結果
4.執行結果:
原圖:
phase:
spectrum:
filter:
result
沒有留言:
張貼留言