圖像處理中的濾波器之均值濾波,中值濾波,高斯濾波

1.均值濾波

原理: 均值濾波採用線性的方法,使用模板內所有像素的平均值代替模板中心像素灰度值

特點: 不能很好地保護圖像細節,在圖像去噪的同時也破壞了圖像的細節部分,從而使圖像變得模糊,不能很好地去除噪聲點。均值濾波對高斯噪聲表現較好,對椒鹽噪聲表現較差。

Python-OpenCV中的實現代碼:

img_mean = cv2.blur(img, (3,3))#(3,3)卷積核是可調的

舉個例子:

下面左圖爲椒鹽噪聲原始圖像,右圖爲高斯噪聲原始圖像

下圖從左到右分別爲均值濾波(3,3)(5,5)(10,10)處理椒鹽噪聲圖像的結果

均值濾波處理的椒鹽噪聲結果

下圖從左到右分別爲均值濾波(3,3)(5,5)(10,10)處理高斯噪聲圖像的結果

均值濾波處理的高斯噪聲結果

結果分析:從以上圖像的處理結果中可以看到隨着卷機核的增大,圖像變的越來越模糊;均值濾波處理高斯噪聲比椒鹽噪聲效果更好。

 

2.中值濾波

原理: 中值濾波採用非線性的方法,計算模板內所有像素中的中值,並用所計算出來的中值體改模板中心像素的灰度值

特點: 它在平滑脈衝噪聲方面非常有效,同時它可以保護圖像尖銳的邊緣,選擇適當的點來替代污染點的值,所以處理效果好,對椒鹽噪聲表現較好,對高斯噪聲表現較差。

Python-OpenCV中的實現代碼:

img_media = cv2.mediaBlur(img, 3)#3卷積核是可調的

舉個例子:

下面左圖爲椒鹽噪聲原始圖像,右圖爲高斯噪聲原始圖像

下圖從左到右分別爲中值濾波(3,3)(5,5)(7,7)處理椒鹽噪聲圖像的結果

中值濾波處理的椒鹽噪聲結果

下圖從左到右分別爲中值濾波(3,3)(5,5)(7,7)處理高斯噪聲圖像的結果

中值濾波處理的高斯噪聲結果

結果分析:中值濾波處理椒鹽噪聲效果非常好,高斯噪聲相比較差。

3. 高斯濾波

原理: 對圖像鄰域內像素進行平滑時,鄰域內不同位置的像素被賦予不同的權值

特點: 對圖像進行平滑的同時,同時能夠更多的保留圖像的總體灰度分佈特徵。

下圖左側是常用的3*3的高斯模板,右側是常用的5*5高斯模板:

高斯模板中的參數是通過高斯函數計算出來的。高斯函數的計算公式如下,x的平方和y的平方分別表示的是鄰域內其他像素與鄰域內中心像素的距,Sigmma代表的是標準差:

Python-OpenCV中的實現代碼:

img_gaussian = cv2.GaussianBlur(img, 3)#3卷積核是可調的

舉個例子:

下面左圖爲椒鹽噪聲原始圖像,右圖爲高斯噪聲原始圖像

下圖從左到右分別爲高斯濾波(3,3)(5,5)(7,7)處理椒鹽噪聲圖像的結果

高斯濾波處理的椒鹽噪聲結果

下圖從左到右分別爲高斯濾波(3,3)(5,5)(7,7)處理高斯噪聲圖像的結果

高斯濾波處理的高斯噪聲結果

結果分析: 高斯濾波處理椒鹽噪聲和高斯噪聲都有一定的效果。處理情況複雜的數據集時,能夠更好的保留圖像分佈特點。如果需要針對固定特點的圖像進行處理,還是會選擇均值濾波處理高斯噪聲,中值濾波處理椒鹽噪聲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章