高斯滤波

高斯滤波属于线性平滑滤波的一种,可以消除高斯噪声,广泛应用于图像处理的减噪过程。大家常说高斯滤波是最有用的滤波操作,虽然它用起来效率往往不是最高的。

首先,我们先要了解高斯滤波的原理,以及高斯滤波消除的高斯噪声是什么?

噪声,是图像中表现极为突兀的像素点或者像素块,会给图像带来干扰,让图像变得不清楚,或者说影响观察图像的细节。
而高斯噪声,就是噪声像素的概率密度函数服从高斯分布(正态分布)
高斯噪声就是它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。

高斯函数:

高斯降噪神经网络 高斯降噪原理_卷积


注:σ的大小决定了高斯函数的宽度。

高斯降噪神经网络 高斯降噪原理_高斯降噪神经网络_02


通俗地讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身核邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩膜)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。高斯核:

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

  

高斯降噪神经网络 高斯降噪原理_卷积_03


很明显的看出来,上图高斯核矩阵满足二维高斯分布。理论上,高斯分布在所有定义域上都有非负值,这就需要一个无限大的卷积核。实际上,仅需要取均值周围3倍标准差内的值,以外部份直接去掉即可。

高斯滤波的重要两步就是先找到高斯模板然后再进行卷积,模板(mask在查阅中有的地方也称作掩膜或者是高斯核)。所以这个时候需要知道它怎么来?又怎么用?

举个栗子:

假定中心点的坐标是(0,0),那么取距离它最近的8个点坐标,为了计算,需要设定σ的值。假定σ=1.5,则模糊半径为1的高斯模板就算如下

高斯降噪神经网络 高斯降噪原理_高斯降噪神经网络_04


这个时候我们我们还要确保这九个点加起来为1(这个是高斯模板的特性),这9个点的权重总和等于0.4787147,因此上面9个值还要分别除以0.4787147,得到最终的高斯模板。

高斯降噪神经网络 高斯降噪原理_高斯降噪神经网络_05


高斯滤波计算

有了高斯模板,那么高斯滤波的计算便顺风顺水了。

举个栗子:

假设现有9个像素点,灰度值(0-255)的高斯滤波计算如下:

高斯降噪神经网络 高斯降噪原理_卷积_06


将这9个值加起来,就是中心点的高斯滤波的值。

对所有点重复这个过程,就得到了高斯模糊后的图像。

高斯滤波步骤
综上可以总结一下步骤:

(1)移动相关核的中心元素,使它位于输入图像待处理像素的正上方
(2)将输入图像的像素值作为权重,乘以相关核
(3)将上面各步得到的结果相加做为输出
简单来说就是根据高斯分布得到高斯模板然后做卷积相加的一个过程