作業說明
請撰寫一個程式,讀取一張 256 色灰階圖像。
(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
(2) 對圖像利用 Gaussian Low-Pass filter 處理,輸出平滑後圖像。(程式利用課本的frequency filter 步驟者可得滿分!)
操作環境
- macOS Big Sur 11.2.2
- Python 3.8.5
- OpenCV 4.5.1
實作方法
- 讀取大小為(MxN)之灰階原圖f(x, y) (圖一)
- 將填補成大小為PxQ(P = 2xM, Q = 2xN)之f'(x, y)並將其乘上(-1) ** (x + y) (圖二)
- 將f'(x, y)進行傅立葉轉換後得到F(u, v) (圖三)
- F(u, v)之頻譜 (圖四)
- F(u, v)之相位 (圖五)
- 製造一個大小為PxQ的Gaussian mask H(u, v)並將其與F(u, v)相乘後得到G(u, v) (圖五、六)
- 將G(u, v)進行反轉傅立葉轉換後乘上(-1) ** (x + y)並保留實數部分後可獲得Gp(x, y) (圖七)
- 最後將Gp(x, y)之左上角(MxN)大小取出,即為結果 (圖八)
(圖一)
(圖二)
(圖三)
(圖四)
(圖五)
(圖六)
(圖七)
(圖八)
沒有留言:
張貼留言