2022年4月12日 星期二

s1083301 作業4

 

作業說明:

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

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

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

 

使用環境/語言:

l   Windows10

l   Visual Studio 2019

l   Opencv-4.5.5

l   C++

 

執行/程式說明:

第一題:

1.          輸入檔案位置至input_image

2.          imread將在input_image的圖片讀入

3.          getOptimalDFTSize取得尺寸

4.          merge合併且填充

5.          進行傅立葉轉換

=> log(1 + sqrt(Re(DFT(I))^2 + Im(DFT(I))^2))

6.          magnitude()製作Spectrum magnitude

7.          phase()製作Phase

8.          裁剪光譜,如果它有奇數的行或列

9.          使用normalize把值控制在0-1之間

10.      imshow將圖顯示出來

第二題:

1.          輸入檔案位置至input_image

2.          imread將在input_image的圖片讀入

3.          GaussianBlur()生成平滑後圖片

4.          imshow將圖顯示出來


執行結果:

1.      原圖



2.      Spectrum magnitude



3.      Phase



4.      GaussianBlur



 

沒有留言:

張貼留言