2022年4月13日 星期三

s1083327 作業4

1.作業說明:

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

(1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現      出。
(2)對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。

2.開發環境:

Windows 10 + Visual Studio 2019 + Open CV 4.5.5  

3.實作方法:

頻譜圖、相位角圖: 

1.輸入圖片名稱與格式 

2.讀取灰階圖片 

3.將圖片Padding 

4. 先使用 getOptimalDFTSize()拓寬圖片 

5. 使用copyMakeBorder()填充圖片 

6.使用dft()做傅立葉轉換 

7. 用split()分割出實數與虛數部分 

8. 使用 magnitude()和 phase()做出未處理的頻譜圖和相位角圖 

9.頻譜圖和相位角圖交換象限 

10.將頻譜圖 +Scalar::all(1) 

11.頻譜圖代入log()和 normalize() 

12.顯示頻譜圖 

13.將相位角圖代入 normalize() 

14. 顯示相位角圖 

Gaussian low pass filter: 

1.將讀入的圖片代入dft() 

2. 做出Gaussian low pass filter ,d0設為2500

3.將GLPF交換象限 

4.將傅立葉轉換後的圖與GLPF帶入 multiply() 

5.將相乘的圖做idft() 

6.顯示處理後的圖 

4.執行結果

(1)





(2)




沒有留言:

張貼留言