2022年4月14日 星期四

s1081534 作業4

 1. 作業說明: 

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

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

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


2.開發環境:

  • Windows 10
  • Visual Studio 2019
  • OpenCV3.4.6
  • C++
3.實作方法:
  1. 將圖片進行padding
  2. 傅立葉轉換後要存取實部和虛部的地方
  3. 用merge()合起來
  4. 進行傅立葉轉換dft()
  5. 用split()分離出實部和虛部
  6. 使用magnitude()和phase()算出頻譜圖和象位角
  7. 用filter與前面傅立葉轉換的結果相乘再用idft()取逆傅立葉轉換
  8. 以magnitude()和normalize()得到結果

4.執行結果:

原圖:

 

padded image:


phase:

  
spectrum:


filter:


result


















沒有留言:

張貼留言