一、作業題目:
請撰寫一個程式,讀取一張 256 色灰階圖像。(1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。(2)對圖像利用 Gaussian Low-Pass filter 處理,輸出平滑後圖像。
二、開發環境:
ide:pycharm,anaconda 4.4.0
圖像處理:open-cv 4.4.0
語言:python 3.6
三、操作方法:
- 將圖像文件example.png和程式碼處在同一文件目錄下
- 等待程式輸出跑完以後,會在該目錄下生成result.png,即為處理過後的圖像
四、實現方法:
1. 以灰度圖像讀入彩色圖片檔案
本程式用opencv讀入灰度圖像
2. 將圖像置入一個長(x)寬(y)均為兩倍的黑色圖像的左上角
3. 將圖像的每個pixel乘以 (-1)^(x+y),小於零的pixel設為0
4. 對圖像做dft,並進行中心化
5. 對圖像dft後產生的頻譜與高斯low pass filter相乘,其中kernel大小為100X100,標準差為50
6. 將圖像進行idft,並截取左上角的圖像。
沒有留言:
張貼留言