一、 作業說明
請撰寫一個程式,讀取一張256色灰階圖像。
(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。
(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。
(程式利用課本的frequency filter步驟者可得滿分,在網頁中將每個步驟結果呈現出。直接套用opencv函數得一半分數。)
二、 作業環境
Windows
10
OpenCV
4.5.5
Visual
Studio 2017
三、 實作方法
1.讀取圖片,並檢查是否有錯誤。
2.先將圖片進行Padding,使用getOptimalDFTSize()擴展圖片,再用copyMakeBorder()填充。
3.將Padding完成的圖進行dft()運算,然後再用spilt()將實部虛部分開。
4.用magnitude()計算Magnitude部分,再用Mag()將頻域的圖像重新排列,處理好後輸出。
5.用phase()計算Phase部分,處理圖像後輸出。
6.使用GaussianLowPassFilter()進行高斯低通濾波,並將影像處理後輸出。
四、 執行結果
沒有留言:
張貼留言