c语言一维高斯滤波器,高斯滤波简介,高斯滤波性质及应用

1、高斯滤波简介

了解高斯滤波之前,我们首先熟悉一下高斯噪声。高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性,高斯白噪声包括热噪声和散粒噪声。

高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器。高斯平滑滤波器对于抑制服从正态分布的噪声非常有效。一维零均值高斯函数为:

g(x)=exp( -x^2/(2 sigma^2)

其中,高斯分布参数Sigma决定了高斯函数的宽度。对于图像处理来说,常用二维零均值离散高斯函数作平滑滤波器,高斯函数的图形:

c语言一维高斯滤波器,高斯滤波简介,高斯滤波性质及应用_第1张图片

2、高斯滤波函数

对于图像来说,高斯滤波器是利用高斯核的一个2维的卷积算子,用于图像模糊化(去除细节和噪声)。

1) 高斯分布

一维高斯分布:

23d1b824a41ddeb8ee36519f4f4e6b79.png

c语言一维高斯滤波器,高斯滤波简介,高斯滤波性质及应用_第2张图片

二维高斯分布:

31514d6747c933d61a402d79c0b37885.png

c语言一维高斯滤波器,高斯滤波简介,高斯滤波性质及应用_第3张图片

2) 高斯核

理论上,高斯分布在所有定义域上都有非负值,这就需要一个无限大的卷积核。实际上,仅需要取均值周围3倍标准差内的值,以外部份直接去掉即可。如下图为一个标准差为1.0的整数值高斯核。

c语言一维高斯滤波器,高斯滤波简介,高斯滤波性质及应用_第4张图片

3、高斯滤波性质

高斯函数具有五个重要的性质,这些性质使得它在早期图像处理中特别有用。这些性质表明,高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器,且在实际图像处理中得到了工程人员的有效使用.高斯函数具有五个十分重要的性质,它们是:

(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的。一般来说,一幅图像的边缘方向是事先不知道的,因此,在滤波前是无法确定一个方向上比另一方向上需要更多的平滑。旋转对称性意味着高斯平滑滤波器在后续边缘检测中不会偏向任一方向。

(2)高斯函数是单值函数。这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的。这一性质是很重要的,因为边缘是一种图像局部特征,如果平滑运算对离算子中心很远的像素点仍然有很大作用,则平滑运算会使图像失真。

(3)高斯函数的傅立叶变换频谱是单瓣的。正如下面所示,这一性质是高斯函数付立叶变换等于高斯函数本身这一事实的直接推论。图像常被不希望的高频信号所污染(噪声和细纹理)。而所希望的图像特征(如边缘),既含有低频分量,又含有高频分量。高斯函数付立叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需信号。

(4)高斯滤波器宽度(决定着平滑程度)是由参数σ表征的,而且σ和平滑程度的关系是非常简单的。σ越大,高斯滤波器的频带就越宽,平滑程度就越好。通过调节平滑程度参数σ,可在图像特征过分模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷。

(5)由于高斯函数的可分离性,较大尺寸的高斯滤波器可以得以有效地实现。二维高斯函数卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积结果与方向垂直的相同一维高斯函数卷积。因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长。

4、高斯滤波应用

高斯滤波后图像被平滑的程度取决于标准差。它的输出是领域像素的加权平均,同时离中心越近的像素权重越高。因此,相对于均值滤波(mean filter)它的平滑效果更柔和,而且边缘保留的也更好。

高斯滤波被用作为平滑滤波器的本质原因是因为它是一个低通滤波器,见下图。而且,大部份基于卷积平滑滤波器都是低通滤波器。

c语言一维高斯滤波器,高斯滤波简介,高斯滤波性质及应用_第5张图片

图:高斯滤波器(标准差=3像素)的频率响应。The spatial frequency axis is marked in cycles per pixel, and hence no value above 0.5 has a real meaning。

5、高斯滤波步骤

(1)移动相关核的中心元素,使它位于输入图像待处理像素的正上方

(2)将输入图像的像素值作为权重,乘以相关核

(3)将上面各步得到的结果相加做为输出

6、高斯滤波源码(C语言版)(点击阅读原文前往查看源码)

高斯滤波处理之后:

c语言一维高斯滤波器,高斯滤波简介,高斯滤波性质及应用_第6张图片

高斯滤波处理之前:

c语言一维高斯滤波器,高斯滤波简介,高斯滤波性质及应用_第7张图片

你可能感兴趣的:(c语言一维高斯滤波器)