s1093320 作業4
1.題目敘述:
附件中的image4 似乎受到某種頻域雜訊干擾,撰寫一個程式嘗試復原此圖像(將圖中雜訊去除)。
2.開發環境:
python 3.11.1
opencv 4.6.0
vscode
win10
3.實作方法:
1. 先進行傅立葉轉換並center。
2. 計算出頻譜並normalize,轉格式。
3. 將頻譜圖進行二值化,這裡取高於185的
4. 後面使用mask把中心亮光處去掉,會出現下圖
5. 使用cv2.findContours找出白點輪廓,得出輪廓後遍歷全部輪廓得出每個輪廓的中心點存入notch_filter_arr
6. 接下來對notch_filter_arr裡的所有點使用circle,以便將圓內的頻率刪除。
7. 將得出來的notch_filter乘上一開始中心化過的傅立葉轉換圖,然後再反轉將中心點移回角落,再逆傅立葉轉換,再轉格式,得出reconstructed圖。
8. 其實這樣就可以了,但加上高斯模糊會更好。
輸出結果:
留言
張貼留言