作業說明:
請撰寫一個程式,讀取一張 256 色灰階圖像。
(1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
(2)對圖像利用 Gaussian Low-Pass filter 處理,輸出平滑後圖像。
開發環境:
- Windows 10
- Visual Studio Code
- Python 3.8.5
- OpenCV 4.4.0
實作:
一、
1.
np.fft.fft2()
提供頻率變換,是複陣列。
2.
計算得到結果在左上角,可以使用函式np.fft.fftshift()將其移到中心
3.
np.log(np.abs(fshift))先取絕對值:表示取模,再取對數:將資料範圍變小
4.
np.angle()計算頻譜相位角度
5. cv2.GaussianBlur(img,(5,5),0)做高斯模糊處理
執行結果:
沒有留言:
張貼留言