2022年4月14日 星期四

s1081509 作業4

 

 作業說明:

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

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

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

(程式利用課本的frequency filter步驟者可得滿分,在網頁中將每個步驟結果呈現出。直接套用opencv函數得一半分數。)

環境:

Ubuntu-20.04

Vim 8.2

CMake 3.16.3

OpenCV  4.2.0

程式功能:

1.      imread()讀圖片

2.      用getOptimalDFTSize, copyMakeBorder展開圖片去DFT速度

3.      先設定好實數、虛數的空間,用merge製作multi-channel array

4 .    dft進行傅立葉轉換,用split分出planes

5.     magnitude, phase進行頻譜大小、相位角度

6.     對圖片進行調整位置 

7.     normalize至0-1間

8.      Imshow、imwrite展示、儲存圖片


GaussBlur

1. 用定義開雙層for迴圈製作kernel

2. 對圖做卷積運算

3. Imshow、imwrite展示、儲存圖片



使用指令:

make ; ./hw4 picture_name.jpg



沒有留言:

張貼留言