通常,图像处理软件将提供模糊滤镜以使图像模糊。
有许多算法可以实现模糊,其中一种称为高斯模糊算法。它利用高斯分布来处理图像。
本文是介绍高斯模糊算法,你会发现这是一个简单的算法。实际上,它是一种可以在许多情况下使用的数据平滑。
1.高斯模糊理论
所谓的模糊可以理解为将像素作为其周围像素的平均值。
在上图中,2是中心点,周围点是1。
中心点将取其周围点的平均值,它将为1.从价值角度来看,它是平滑的。在图形上,它是模糊效果。中心点将失去其细节。
显然,如果值范围非常大,则模糊效果非常强。
以上是原始图像,3像素模糊半径和10像素模糊半径。模糊半径越大,图像越模糊。
现在的问题是,如果每个点都能获得周围点的平均值,那么我们应该如何分配权重?
如果我们只使用简单的平均值,这是不合理的,因为图像是连续的,距离越近点,点之间的关系越接近。因此加权平均值比简单平均值更合理,距离点越近,权重越大。
2.正态分布的权重
正态分布是可接受的权重分布模型。
在图形上,正态分布是钟形曲线,越接近中心,值越大。
3.高斯函数
上面的正态分布是一维的,图是二维的。我们需要二维正态分布。
正态分布的密度函数称为高斯函数。一维格式是:
这里μ是x的平均值,因为中心点是计算平均值时的原点,所以μ等于0。
基于一维函数,我们可以推导出二维高斯函数。
使用此功能,我们可以计算每个点的重量。
4.重量矩阵
假设中心点的坐标为(0,0),那么最接近它的8个点的坐标为:
要计算权重矩阵,我们需要设置σ的值,σ= 1.5,然后模糊半径1的权重矩阵是
这9个点的权重之和为0.4787147。如果仅计算这9个点的加权平均值,则总和应为1,因此上述9个值应除以0.4787147。
5.计算高斯模糊
利用权重矩阵,我们可以计算出高斯模糊的值。
假设我们现在有0像素,灰度值(0-255)
每个点乘以其权重值, 将这9个值加起来,我们将得到中心点的高斯模糊值。
对所有其他点重复此过程,然后我们将在高斯模糊后得到图形。
6.边界点的过程
如果一个点在边界,没有足够的点,我们该怎么办?
一种解决方案是将所有现有点复制到相应位置以形成新矩阵。