平滑处理也称模糊处理,是一种简单且使用频率很高的图像处理方法。平滑处理的用途很多,最常用的是用来减少图像上的噪点或者失真。
图像滤波是指在尽量保证图像细节特征的条件下对目标图像的噪声进行抑制,是图像处理中不可缺少的操作。其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。
消除图像中的噪声成分叫做图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段,而在高频段,有用的信息经常被噪声淹没。因此,一个能降低高频成分幅度的滤波器就能减弱噪声的影响。
图像滤波的目的有两个:
- 抽出图像的特征作为图像识别的模式。
- 为满足图像处理的要求,消除图像中的噪声。
对图像滤波的要求也有两个:
- 不能损坏图像的轮廓及边缘等重要信息。
- 使图像清晰视觉效果好。
平滑滤波是低频增强的空间域滤波技术,它的目的有两个:一是模糊,二是消除噪声。
空间域的平滑滤波一般采用简单的平均法实现,就是求邻近像素点的平均像素值。邻域的大小与平滑的效果直接相关,频域越大,平滑效果越好,但是邻域越大也会使边缘信心损失的越大,从而使图像变得模糊,因此需要合理选择邻域的大小。
我们可以把滤波器想象成一个包含加权系数的窗口,当使用这个滤波器平滑处理图像时,就把这个窗口放到图像上,透过这个窗口来看得到的图像。
滤波器主要包括线性滤波器和非线性滤波器。
线性滤波主要包括:方框滤波、均值滤波、高斯滤波。
非线性滤波器主要包括中值滤波和双边滤波。
OpenCV中提供了常用的图像平滑处理操作方法:
- 方框滤波:BoxFilter函数
- 均值滤波:Blur函数
- 高斯滤波:GaussianBlur函数
- 中值滤波:medianBlur函数
- 双边滤波:bilateralFilter函数