2021年5月2日 星期日

1071441 影像處理作業 3

 一、作業說明

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

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

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

二、作業環境&語言

Windows 10

Visual Studio Code 1.54.3

Python 3.8.3

OpenCV 4.5.1.48

Numpy 1.19.5

Matplotlib 3.2.2

三、實作方法

    1. imread讀取灰階圖片

    2.  padding,取較大的邊當作要padding的大小

    3. 把基數個位置的pixel乘以(-1),但不會變成負數,所以實際上會以0(黑色)表示

    4. 用 cv.dft做離散傅立葉轉換,

        再用magnitude()跟phase()求頻譜大小跟相位圖,並中心化

    5. 建立頻域用的Guassian low-pass filter

    6. 對頻譜圖用Guassian low-pass filter

    7. 用cv.idft做反離散傅立葉轉換

    8. 裁剪成原本圖片的大小

四、執行結果 



















沒有留言:

張貼留言