图像平滑通过积分过程使得图像边缘模糊,图像锐化则通过微分使得图像边缘突出、清晰。
空间域平滑滤波器(低通滤波器)
平滑滤波包括:均值滤波、加权均值滤波、阈值平均滤波、中值滤波、高斯滤波等,应用时他们仅是卷积核之间的不同。
平滑滤波用于模糊处理和降低噪声。模糊处理常用于预处理任务中,如在目标提取之前去除图像中的一些琐碎细节,以及桥接直线或曲线的缝隙。通过线性或非线性平滑滤波也可降低噪声。
均值滤波器
均值滤波(normalized box filter)就是用其像素点周围像素的平均值代替元像素值,在滤除噪声的同时也会滤掉图像的边缘信息的方法。
但均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。特别是椒盐噪声。
卷积核: opencv提供的函数
#cv2.blur(src, ksize, dst=None, anchor=None, borderType=None)
#src:图像矩阵 ksize:滤波窗口(算子)尺寸 anchor:锚点 borderType:边界扩充类型
高斯滤波器
高斯滤波是一种线性平滑滤波器,对于服从正态分布的噪声有很好的抑制作用。在实际场景中,我们通常会假定图像包含的噪声为高斯白噪声,所以在许多实际应用的预处理部分,都会采用高斯滤波抑制噪声,如传统车牌识别等。
高斯滤波和均值滤波一样,都是利用一个掩膜和图像进行卷积求解。不同之处在于:均值滤波器的模板系数都是相同的为1,而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小(服从二维高斯分布),从而确保中心点看起来更接近与它距离更近的点。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小,更能够保持图像的整体细节。
卷积核:
opencv提供的函数
#cv2.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]])
#dst:输出图像 src:输入图像 ksize:卷积核的大小
#sigmaX:x方向上的标准差 sigmaY:y方向上的标准差
#borderType:边界模式,默认为BORDER_DEFAULT
中值滤波器
统计排序滤波器,非线性滤波器。如果不在边缘区域,图像的数据是平缓的,没有太大的差值。因此,一个噪声点的值要么过大,要么过小。比如下图,左图是没有处理的原图,90在该区域由为突出,通过对33的9个数据进行排序,将中间值27重新填入,即滤波完成,原本的噪声点被去掉,该区域恢复平缓。同理,在边缘区域中,对于边界来说,高频不会影响,而过低数值将会突出,中值的选择将不会受到影响,除非33的整块区域都被污染,这时我们可以考虑更大的核来处理。
没有卷积核表达式。
能够有效去除椒盐噪声(黑白点叠加在图像上) 去除噪声的同时,比较好地保留边缘
空间域锐化滤波器(高通滤波器)
锐化处理的主要目的是为了突出图像的边缘信息,增强图像的轮廓特征,以便于人眼的观察和机器的识别。 要介绍3中方法:拉普拉斯算子(二阶微分)、非锐化掩蔽、一阶微分(包括罗伯特交叉梯度算子和Soble算子)。
Roberts算子
Prewitt算子
Sobel算子
Laplacian算子(二阶差分)
区别
|