一、作業說明
請撰寫一個程式,讀取一張256色灰階圖像。
(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。
(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。
(程式利用課本的frequency filter步驟者可得滿分,在網頁中將每個步驟結果呈現出。直接套用opencv函數得一半分數。)
二、開發環境Windows11
Visual Studio 2019
OpenCV4.5.5
三、實作方法
頻譜圖、相位角:
1. 輸入圖片路徑,並以灰階格式讀取圖片。
2. 將圖片進行零填充,利用copyMakerBroder()函數實現零填充。
3. 使用dft()進行離散傅立葉轉換。
4.用split將傅立葉轉換結果的實部和虛部分開
4. 以phase()及magnitude()分別取得相位角度及頻譜。
5. 利用normalize把值控制在0-1之間。
高斯濾波:
1.生成一維的高斯濾波模板
2. 歸一化
3.將模板應用到影像中
4.分別處理水平方向和垂直方向
四、執行結果
沒有留言:
張貼留言