理论教育 图像滤波技术及应用于图像处理的OpenCV函数

图像滤波技术及应用于图像处理的OpenCV函数

时间:2023-08-26 理论教育 版权反馈
【摘要】:图像的滤波是指尽量保留图像细节的情况下对图像的噪声进行过滤。方框滤波、均值滤波和高斯滤波均为线性滤波,中值滤波和双边滤波为非线性滤波。OpenCV封装的函数blur()可对图像进行均值滤波。高斯滤波可以消除高斯噪声,被广泛应用于图像处理的减噪过程。对于图像处理来说,常用二维零均值离散高斯函数作为平滑滤波器:高斯滤波对服从正态分布的白噪声的抑制十分有效。

图像滤波技术及应用于图像处理的OpenCV函数

图像的滤波是指尽量保留图像细节的情况下对图像的噪声进行过滤。图像滤波是图像处理中必不可少的操作,其处理效果的好坏将直接影响到后续图像处理的可靠性和有效性。几种常用的滤波方法为:方框滤波、均值滤波、中值滤波、高斯滤波、双边滤波。方框滤波、均值滤波和高斯滤波均为线性滤波,中值滤波和双边滤波为非线性滤波。下面简单对以上五种滤波方法的原理及优缺点进行介绍。

(1)方框滤波。

如果滤波核为(5×5),则方框滤波所用核如公式(8-18)所示:

其中,a的定义如公式(8-19)所示:

当滤波函数归一化标志位为true时,a取上者;当标志位为false时,a取1。式(8-19)中,size.width为滤波核的宽度,size.height为滤波核的高度。A11等为图像的像素值。OpenCV封装的方框滤波的函数为boxfilter()。

(2)均值滤波。

均值滤波是最简单的一种滤波方式,输出图像的每一个像素都是核窗口内输入图像对应像素的均值,也就是归一化后的方框滤波,能够对图像中的噪声起到一定的抑制作用。但是均值滤波本身存在一些固有的缺陷,它不能很好地保护图像的细节,滤波后会使图像变得模糊,同时对于尖锐的噪声,抑制作用较弱。OpenCV封装的函数blur()可对图像进行均值滤波。

(3)高斯滤波。

高斯滤波可以消除高斯噪声,被广泛应用于图像处理的减噪过程。高斯滤波是对整幅图像进行加权平均的过程,每个像素点的值,都由其本身和邻域内的其他像素经加权平均后得到。对于图像处理来说,常用二维零均值离散高斯函数作为平滑滤波器:(www.daowen.com)

高斯滤波对服从正态分布的白噪声的抑制十分有效。OpenCV封装的高斯滤波函数为GaussianBlur()。

(4)中值滤波。

中值滤波是典型的非线性滤波,它不是直接使用图像像素值,而是通过求取像素点邻域灰度值的中值,然后用求得的中值当作该像素点的灰度值,这种方法对消除孤立的噪点、图像中尖锐噪声都有比较好的处理效果。相对比于线性滤波方法,非线性滤波方法可以减轻图像细节模糊状况,从而保留图像细节信息,但这种处理方法的代价就是需要花费更多的滤波时间。一般说来,在同等情况下,中值滤波花费的时间是均值滤波的五倍。如果对实时性要求不高的话,中值滤波是一个不错的选择。OpenCV封装的函数medianBlur()可对图像进行中值滤波。

(5)双边滤波。

双边滤波是利用邻域的像素值进行加权组合作为其输出图像的像素值,其公式为(8-22):

其中,f(k,l)为输入像素;g(i,j)为输出像素;加权系数ω(i,j,k,l)为定义域核和值域核的乘积,如式(8-23)所示:

在OpenCV中封装的双边滤波函数为bilateralFilter()。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈