图像处理中的滤波器之均值滤波,中值滤波,高斯滤波

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)处理高斯噪声图像的结果

高斯滤波处理的高斯噪声结果

结果分析: 高斯滤波处理椒盐噪声和高斯噪声都有一定的效果。处理情况复杂的数据集时,能够更好的保留图像分布特点。如果需要针对固定特点的图像进行处理,还是会选择均值滤波处理高斯噪声,中值滤波处理椒盐噪声。

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