作業說明:
請撰寫一個程式,讀取一張256 色灰階圖像 。
(1) 計算輸入圖的離散傅立葉轉換結果並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。
(2) 對圖像利用Gaussian Low Pass filter處理,輸出平滑後圖像。(程式利用課本的frequency filter步驟者可得滿分!)
開發環境:
Windows 10
python 3.7
OpenCV 4.5.1
程式說明:
1.用imread()載入全彩圖片
2.接著將圖片全彩轉灰階
3.用np.fft.fft2()進行傅立葉轉換
4.使用np.fft.fftshift()將頻譜移到中心點
5.用np.log(np.abs())就得到頻譜圖
6.用np.angle()以得到相位圖
7.利用cv2.GaussianBlur()來濾波,以得到平滑圖
輸出:
原圖:
灰階圖:
頻譜圖:
相位圖:
平滑後的圖:
沒有留言:
張貼留言