1.概念
高斯滤波是一种线性平滑滤波,高斯滤波操作能够有效抑制噪声,平滑图像,因此广泛应用于图像处理的减噪过程。
通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。
对均值滤波和方框滤波来说,其邻域内每个像素的权重是相等的。而在高斯滤波中,会将中心点的权重值加大,远离中心点的权重值减小,在此基础上计算邻域内各个像素值不同权重的和。
高斯滤波的具体操作是:用一个高斯核(或称卷积、掩模)扫描图像中的每一个像素,用高斯核确定邻域内像素的加权平均灰度值去替代模板中心像素点的值。
原图
高斯滤波效果图
2.原理
高斯滤波需要用高斯核对每个像素值进行卷积
例如,一个3*3的高斯核如下图所示:
如下图所示,针对图像内第4行第3列位置上像素值为226的像素点进行高斯卷积,运算规则为将该领域内的像素点按照不同的权重计算和。
在实际使用中,高斯滤波使用的可能是不同大小的卷积核。在高斯滤波中,核的宽度和高度可以不相同,但他们都必须是奇数。
每一种尺寸的卷积核都可以有多种不同形式的权重比例。在实际计算中,卷积核是归一化处理的,这种处理可以表示为小数形式的卷积核,也可以表示为分数形式。
3.说明
具体实现逻辑:
通过设备句柄来获取内存管理权限,并申请一个3通道维度的image内存作为输入图像的数据存储空间,同时申请另外一个3通道维度的image内存作为输出图像的数据存储空间,送放入到指定接口走到硬件来完成滤波处理。
其中,传递的参数float sigmaX来记录X方向上的高斯核标准差;float sigmaY 来记录Y方向上的高斯核标准差。
高斯滤波特征:核大小固定,sigma值越大,权值分布越平缓。因此邻域各点值对输出值的影响越大,最终结果造成图像越模糊 核大小固定,sigma值越小,权值分布越突起。因此邻域各点值对输出值的影响越小,图像变化越小。假如中心点权值为1,其他点权值为0,最终结果是图像没有任何变化。 sigma固定时,核越大图像越模糊 sigma固定时,核越小图像变化越小
4.卷积形式&填充形式
高斯滤波算子用到的卷积形式为Depthwise卷积。
Depthwise 卷积的一个卷积核只负责一个通道,一个卷积核只与一个通道卷积。那么卷积核数需要与输入的通道数相等,输出的通道数也不变,等于输入的通道数,等于卷积核数。所以depthwise卷积只改变特征图的大小,不改变通道数。
Depthwise卷积示意图
高斯滤波算子用到的填充形式为反射填充。
这种填充方式是以输入元素的边界为对称轴,以设定的padding大小为步长,将输入元素的边界内padding大小的元素,对称填充。
反射填充的目的是为了使边缘像素卷积操作后的结果更平滑,从而提升卷积效果。
反射填充效果示意图