通常,图像处理软件将提供模糊滤镜以使图像模糊。

有许多算法可以实现模糊,其中一种称为高斯模糊算法。它利用高斯分布来处理图像。

本文是介绍高斯模糊算法,你会发现这是一个简单的算法。实际上,它是一种可以在许多情况下使用的数据平滑。

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.边界点的过程

如果一个点在边界,没有足够的点,我们该怎么办?

一种解决方案是将所有现有点复制到相应位置以形成新矩阵。

版权声明:本文为xosg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xosg/p/10257870.html