s1091541 作業4
主題:影像還原練習
附件中的 image4 似乎受到某種頻域雜訊干擾,撰寫一個程式嘗試復原此圖像(將圖中雜 訊去除)。
開發環境:
- windows11
- Opencv 4.7.0
- Visual Studio 2022
C++
程式碼說明:
將接續上次作業(傅立葉轉換)在頻域圖上添加notch
filter以達到去除雜訊的效果。
1.
在此次案例中需去除的地方為圖(一)中的六個黑點的標示處,及為圖中除了中心外峰值最高的地方。
圖(一)
2.
僅顯示峰值較高的地方可得圖(二)。
圖(二)
3.
透過setMouseCallback()中的on_MouseHandle()利用滑鼠動態框出需被覆蓋的地方(獲取座標如(圖(三)),完成後按下esc離開。
圖(三)
4.
在將這些座標傳入notch_kernal()函數製作notch filter(圖(四))。
圖(四)
5.
最終套入到原始頻譜圖上並使用idft()還原修正後的圖片再加上高斯模糊函數模糊邊界得出成果(圖(五))。
圖(五)
成果:
留言
張貼留言