数字图像处理【3】图像空间滤波-平滑

上一篇内容讲了图像的灰度变换,它主要是运用在单点的处理,在图像的对比度、亮度等方面进行增强。这一次介绍图像的空间滤波,它会利用像素周围领域的像素信息,对图像的灰度进行处理。处理的目的主要有以下几个方面:

  1. 去噪:在成像的过程中,由于硬件传感器或者成像环境的因素,相机获得的图像经常会存在噪声。为了减弱噪声,需要设计合适的图像滤波算法。

  1. 特征提取:为了从图像中提取特征、线特征或者边缘特征,这些都需要有对应合适的滤波器。

  1. 图像增强:在有些应用中,需要对图像进行细节增强,如锐化,使得图像边缘更加锐利。

卷积滤波

在讲具体的算法之前,我们先看一个最基础的卷积滤波。以Source输入图像为例,还有个3*3的卷积核,输入图像通常要远远大于卷积核的尺寸。卷积核的大小不一定是3*3,还可以是5*5,7*7都有可能。有了一个原图像和卷积核,对于3*3的卷积核来说,简单的可以直接覆盖[0,0]位置开始,对中心[1,1]位置的像素进行卷积,卷积核的元素和图像的元素逐点相乘再做一个累加,那么可以用以下的公式表达。

卷积滤波它是空间滤波的基础,下面有各种各样的滤波,比如说平滑滤波器、锐化滤波、还有提取图像边缘的滤波器,都是用卷积滤波来实现。这些不同功能的滤波器主要的区别在于他们的卷积核是不同的。

卷积滤波是对图像进行一个局部的运算,通常在具体平台的计算当中是可以并行加速的,和卷积神经网络进行对比,这里学到的卷积滤波的核的参数是由人工设计的,是确定的。而在卷积神经网络里面,运算的过程是一样的,只不过卷积核的参数是训练网络推理出来的。

均值滤波

接着来介绍最简单的滤波——均值滤波。所谓的均值滤波在卷积核的权重里面,所有的权重都是相同的,如图核把所有的权重加起来是为1的。平均下来每一项为1/9

均值滤波器的作用是让这个图像变得更加平滑,但是需要注意的是:在通常情况下,均值滤波是 各项同性 的滤波器,但它在特的输入源的情况下,有可能会出现 各项异性 的效果。各项异性是什么意思呢?就说在这个图像的倾斜方向的结构上,或者说水平方向或者垂直方向的结构上,在应用同一个均值滤波器的时候,会经历不一样的平滑程度的处理。

扫描二维码关注公众号,回复: 15263637 查看本文章

以右上举例,图 (b)为输入原图,白条纹是一个单位,黑条纹是二个单位,共三个单位为一组间隔。应用一个3*3的均值滤波以后,它得到的输出是图(c),这个是符合预期黑白混合成灰。

当输入图像变为图(d)白条纹是一个单位,黑条纹也是一个单位,也是运用3*3的均值滤波的时候,得到的输出是图(e)所示。注意到输入的黑白条纹发生了一个反转,这个明显就是在预期之外了。

有关各项异性和各项同性的介绍,可以再看看这篇文章

高斯滤波

接着介绍高斯滤波,和均值滤波相比,高斯滤波是各项同性的,不存在特例。上图左边是一维的高斯函数,右边是二维的高斯函数。它是一个非常平滑的曲线/曲面,其中详细的高斯卷积核的权重求解可以参考之前写过的文章,这里不再详细论述。

当我们高斯滤波的时候,一个重要的参数就说它的滤波器的尺度sigma σ ,当sigma取值越小,高斯函数的输出越尖锐的一个曲线,当sigma的取值越大的时候,高斯曲线就越平坦,平滑的力度就越大。上面是一个实际的对比图,随着sigma的不断加大,它的平滑力度会越大,图像的细节已经完全看不到了。

双边滤波

那么上面介绍的高斯滤波是一个最理想的平滑滤波器,它的作用是对图像进行平滑去噪。那么有一个问题就是,高斯滤波的各项同性特性,在它平滑图像的同时会破坏图像的边缘性,即丢失了图像中边缘结构的信息。这其实是我们不希望的,譬如一幅人脸的图像,脸上有些痘痘,我们是希望用高斯滤波去掉这些痘痘,同时希望图像的人脸信息还是清晰的。那么在这种情况下需要有一个 具有边缘保持特性的滤波器,双边滤波器 是一个很好的选择。

双边滤波它的权重由两部分组成,一部分是依赖空间位置的权重项,第二部分是图像颜色差异的权重项。

看公式可能有点抽象,可以先参考我之前写在OpenGL实现的双边滤波的文章

Input是一个带噪声的输入信号,同时也是一个有着明显边缘结构(出现上下层断裂),当我们用双边滤波进行操作的时候,这里有两种权重,一个空间距离相关的权重(Spatial weight)其实就是一个高斯函数;另外一个是颜色差异边缘的权重(Range weight)就是和这个中心像素点颜色差异的一个权重。

最终双边滤波的权重,由(空间和颜色差异)两种权重相乘决定的,最后我们把相乘后的权重应用到输入信号上得到Result。明显看到结果即保留了边缘结构信息,也得到平滑去噪的效果。

以上是不同空间权重和颜色权重的双边滤波的效果比较。

双边滤波的应用是非常广泛的,在双目立体视觉里面它是一个很重要的算法。另外在3D网格处理也有一个很好的效果,3D网格也会存在噪声,使用双边滤波可以把脸部区域变得平滑,其他脸部外形的轮廓结构得到保持。

中值滤波

之前介绍的均值滤波、高斯滤波、双边滤波都是平滑滤波器,那么接着介绍 统计滤波。

这里给的例子,是一个带噪声的图像,而且是椒盐噪声算比较严重。当我们应用一个3*3的均值滤波器的时候,去噪效果不算理想。针对这一类随机的椒盐噪声,使用中值滤波有一个比较好的效果。

中值滤波是使用最为广泛的统计排序滤波器,即在滤波器的范围内,统计中心点领域的所有像素,排序后得到其中值,取其中值代替这个中心点的像素/灰度值。

统计排序滤波不仅仅是中值滤波,还可以最小值滤波(CV形态学的腐蚀),最大值滤波(CV形态学的膨胀)。

下一章继续介绍图像空间滤波的另外一种场景 锐化。

猜你喜欢

转载自blog.csdn.net/a360940265a/article/details/129673459