開發環境
- Window 10
- Visual studio code 1.42.1
- OpenCV 4.4.0
- Python 3.6.8
作業說明
請撰寫一個程式,讀取一張256色灰階圖像。
(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。
(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。
請撰寫一個程式,讀取一張256色灰階圖像。
(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。
(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。
實作方法
(1) 灰階的方式讀取圖片 dft函數作傅立葉轉換,得到原始圖像的頻譜 用np.fft.fftshift將0頻率移到中間(有實部跟虛部) 將實部加入magnitude函數,得到頻譜幅度 將幅度映射到灰階空間[0,255],使其以灰階圖像顯示 將虛部加入np.arctan2函數,得到相位(2) 製作一個mask,中心為1,其餘為0,保留低頻部分 把dft_shift (np.fft.fftshift的值) * mask,得到低頻的過濾值 把這個過濾值作逆傅立葉,就得到平滑後圖像
(2)
製作一個mask,中心為1,其餘為0,保留低頻部分
把dft_shift (np.fft.fftshift的值) * mask,得到低頻的過濾值
把這個過濾值作逆傅立葉,就得到平滑後圖像
沒有留言:
張貼留言