Smoothing and noise removal based on spatial filtering
針對影像雜訊的問題,參考上課講義中第六章影像強化的空間區域強化技術-空間濾波器,運用遮罩運算搭配不同的方法可以解決雜訊問題,比較多種方法找出適用情況、處理效果好壞和影像模糊的狀況。
- 先將彩色影像轉換成灰階影像:
取得彩色影像的RGB數值,再依照以下公式:
Gray = 0.2989 * Red + 0.587 * Green + 0.114 * Blue
把轉換後的灰階取代原本的RGB數值 - 實作空間濾波器的五種方法:
-
相鄰像素平均法: 將目前要處理的像素及其周邊共(2m+1)2個像素相加平均,再以g(x, y)取代f(x, y)。
例如,m = 1的3x3遮罩: -
中值濾波: 將目前要處理的像素及其周邊共(2m+1)2個像素根據灰階數值大小排序,再以排在最中間的灰階取代要處理像素的灰階。

-
雙側濾波器: 做高斯平滑化時,不只考慮鄰近點的距離,還考慮鄰近點的灰階差異,距離越遠,平均值的貢獻度越低;灰階差異越大,貢獻度也是越低。
雙側濾波器公式:
x為目前要處理的像素,x '為x周邊的像素,l(x)為x的灰階,Ωx為x周邊的範圍c(x, x ')為計算x '對x的距離差異貢獻度
s(f, f ')為計算x'對x的灰階差異貢獻度
k(x)為x周邊像素貢獻度(距離差異和灰階差異)的總和
-
最小/最大濾波: 最小濾波為將目前要處理的像素及其周邊共8個像素根據灰階數值大小排序,再以排在最小的灰階取代要處理像素的灰階,而最大濾波則是以排在最大的灰階取代要處理像素的灰階。
-
波峰波谷濾波器: 波峰濾波器為將目前要處理的像素及其周邊共8個像素根據灰階數值大小排序,若最大的灰階像素為目前要處理的像素,則以8鄰點中的最大灰階取代要處理像素的灰階,而波谷濾波器則是若最小的灰階像素為目前要處理的像素,則以8鄰點中的最小灰階取代要處理像素的灰階。
-
- 一開始的畫面:

- 選單介紹:
- File:Open為開啟檔案,Exit為關閉程式
- Edit:Add noise為加入黑白雜訊,機率為30% Add pepper noise為加入黑雜訊,機率為30% Add salt noise為加入白雜訊,機率為30% Reset為恢復原本影像的狀態
- Tool:各種空間濾波器,在結果會再詳細的說明
- 執行畫面:
Process顯示目前應用的空間濾波器
下方左邊的圖片為最初讀取的圖片,並加入雜訊
下方右邊的圖片為經過空間濾波器的結果
基本上都使用影像處理中常見的Lena照片來呈現結果,若效果不明顯,則以其他影像呈現
-
相鄰像素平均法:
-
中值濾波:
-
雙側濾波器:
- 做一次,σc = 50,σs = 3:

- 做兩次,σc = 50,σs = 3:
參數參考網站
- 做一次,σc = 50,σs = 3:
-
最小/最大濾波
-
波峰/波谷濾波器:
雖然這幾種空間濾波器可以解決影像雜訊的問題,但同時也帶來影像模糊的副作用,如何降低模糊的副作用依然是個可以研究的方向。
在這次實作的過程中,我覺得印象最深的是中值濾波,即使影像的雜訊多到讓人有點無法辨識影像,經過一兩次的中值濾波還是可以把原本影像的輪廓還原回來,去雜訊的效果是最好的。
而其他的空間濾波器感覺變化不大,也許需要更極端的影像做處理,才能看出空間濾波器造成的影響。


















