請撰寫一個程式,讀取一張 256 色灰階圖像。 計算輸入圖的離散傅立葉轉換結果, 並
將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
二、使用環境:
Windows 10
Visual Studio 2015
OpenCV 3.4
三、撰寫架構:
- imread():讀取圖片,並轉為灰階圖
- copyMakeBorder():拓展原圖邊界,在邊緣增加0
- 新增一個二維Mat變數來儲存傅立葉轉換後實部與虛部的值
- merge此二維Mat變數並使用dft()進行傅立葉轉換
- split():再分離一次產生產生實部與虛部
- magnitude():將實部與虛部分別取平方相加並開根號
- log():
- 切割不同區塊並重新排列:
- normalize():一般化
- imshow():顯示頻譜圖
- phase():計算原圖相位
- normalize():一般化
- imshow():顯示相位圖
四、程式執行結果:
原圖像 |
頻譜圖 |
相位圖 |
沒有留言:
張貼留言