2021年4月26日 星期一

s1071438 影像處理作業 3

作業題目:

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

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

使用環境:

Windows10

VScode + anaconda3

Python3.6.12

Opencv4.5.1

Numpy1.19.4

程式碼功能與資訊

Main:

(1)讀取car.jpg轉成灰度影像

(2)呼叫fourrier_trans()並傳入影像

(3)呼叫gaussian_smoothing()並傳入影像

 

fourrier_trans():

先用np.fft.fft2做傅立葉轉換

再用np.fft.fftshift做移頻,將主要點由左上移置中心

再用log與abs取得頻譜

而用np.angle()求出角度來繪製相位圖

*deg=1,代表求角度,若為0,則為弧度

最後將圖片用cv2.imwrite()存出

 

gaussian_smoothing():

create出一個3*3的高斯filter

再將高斯filter做正規化

最後用signal.convolve2d對圖片做卷積後, cv2.imwrite()存出

執行結果:

原圖








傅立葉轉換













相位圖













高斯平滑


沒有留言:

張貼留言