2021年5月2日 星期日

s1073315 影像處理作業 3

 作業內容:

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

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

(2)對圖像利用 Gaussian Low-Pass filter 處理,輸出平滑後圖像。(程式利用課本的frequency filter 步驟者可得滿分!)

Coding環境:

l   Windows 10 2004

l   Visual Studio Code 1.54.1

l   Anaconda 4.8.3

l   Python 3.9.1

l   OpenCV 4.5.1

 

程式說明:

1.          使用Python import OpenCV

2.          使用cv2.imrea()d讀取圖片存入img

3.          利用cv2.cvtColor()及參數cv2.COLOR_BGR2GRAY將圖片轉灰階

4.          利用 cv2.dft() 進行傅立葉轉換

5.          透過 np.fft.fftshift() 將頻譜低頻從左上角移動到中心位置

6.          使用 cv2.magnitude() 取得頻譜、cv2.phase() 取得相位角

7.          使用 cv2.GaussianBlur 對圖片進行平滑處理

8.          使用 pyplot 印出

 

處理結果:

 

原圖:


頻譜:



相位角:

模糊後圖像:





沒有留言:

張貼留言