2022年4月12日 星期二

s1081544 作業4

作業說明:

請撰寫一個程式,讀取一張256色灰階圖像。

(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。

(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。

開發環境:

          Windows 10

        Visual studio2022

        Opencv-4.5.0

        C++

實作方法:

(1)先以灰階讀取圖片,調整成適合的尺寸,宣告通道拿來放

dft後的實數部分和虛數部分,再用merge()合併通道,用dft()

進行離散傅立葉轉換,分離通道,得到頻譜圖和相位角後將

其中心化跟歸一化。

(2)自定義lowPassFilter(),把擴充後的圖和轉換的圖傳進去,

經果濾波後,H(u,v)和F(u, v)相乘,將結果逆傅立葉轉換,歸

一化,再裁回原尺寸輸出。

執行結果:

  讀入灰階圖

   頻域

    相位

    高斯低通濾波(sigma = 80)

沒有留言:

張貼留言