zoukankan      html  css  js  c++  java
  • 什么是高斯模糊算法?


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

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

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

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

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

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

  • 相关阅读:
    WPF 组织机构摄像机树 全量加载 大数据量 分页加载摄像机节点
    vue3 自定义指令(简易版防抖、节流)
    测试Writer
    The blog In The cnblogs!
    分割
    coeLmiGMmW
    js 之 setTimeout 0 分析
    vue 组件 之 注册 及 组件内data的使用
    Js/es for(let i in Obj)效率分析及优化
    vue.js 表单控件 输入绑定 vmodel的使用
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/10257870.html
Copyright © 2011-2022 走看看