2022年4月14日 星期四

s1083303 作業4

  

1、作業說明

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

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

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

2、開發環境

  • Windows 10
  • OpenCv 4.5.5
  • Python 3.10.1

3、程式說明

1)    計算輸入圖的離散傅立葉轉換結果

利用cv2.dft()計算離散傅立葉轉換結果

2)    將頻譜大小與相位角度個以灰階256色圖像方式呈現出

分別使用np.fft.fftshift()cv2.magnitude()將傅立葉的轉換結果shift成頻譜圖和相位角度圖

3)    對圖像進行gaussian low pass filter處理

使用子下兩條式子分別找到D(u,v)H(u,v),再使已進行傅立葉轉換的相位角圖與H(u,v)相乘進行low pass的濾波。

4)    對濾波完成的圖像反傅立葉轉換

使用cv2.idft()進行反傅立葉轉換並輸出

4、執行結果

執行程式後會跳出一個視窗如下,分別展示input image、轉換後頻譜圖、轉換後相位圖、高斯low-pass filter、平滑後圖像。












沒有留言:

張貼留言