1.題目:
(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。
(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。
(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。
(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。
2.環境:
vs codeopen cv 4.5.5.62windows 11
vs code
open cv 4.5.5.62
windows 11
3.實作:
1.讀入灰階圖片
2.用cv2.dft : 將空間域轉化為頻率域,輸出會是一個複數matrix
3.把martrix丟入用numpy.fft將低頻部分移動到影象中心取得shift
4.把shift的實部虛部用cv2.magnitude計算,算出頻譜大小
5.shift的虛部實部取arctan,算出相位角度
6.定義一張filter,保留低頻的部分
7.把shift和filter相乘,再將低頻的部分轉回去
8.再做逆傅立葉轉換得到平滑後的圖片
4.結果:
沒有留言:
張貼留言