高斯函数 Gaussian Function

简介: **高斯函数,或称正态分布,以数学家高斯命名,具有钟形曲线特征。关键参数包括期望值μ(决定分布中心)和标准差σ(影响分布的宽度)。当μ=0且σ²=1时,分布为标准正态分布。高斯函数广泛应用于统计学、信号处理和图像处理,如高斯滤波器用于图像模糊。其概率密度函数为e^(-x²/2σ²),积分结果为误差函数。在编程中,高斯函数常用于创建二维权重矩阵进行图像的加权平均,实现模糊效果。

高斯函数 Gaussian Function  


基础部分:


image.png

image.png

μ指的是期望,决定了正态分布的中心对称轴


正态曲线以μ为对称轴,当x=μ时,f(x)取最大值, image.png ,μ称为位置参数,σ称为形状参数

μ=0,σ平方等于1时的正态分布叫标准正态分布

image.png

σ指的是方差决定了正态分布的胖瘦,方差越大,正态分布相对的胖而矮

方差:(x指的是平均数)

image.png

标准差:方差开根号  

任何正态分布的概率密度从负无穷到正无穷积分的结果都为1















一维形式: image.png      高斯的一维图是特征对称“bell curve“(钟状)a是曲线尖峰的高度,b是尖峰中心的坐标,c称为标准方差 ,表征的是bell钟状的宽度


image.png


具有期望值μ和方差 σ平方 的归一化高斯曲线

对应的参数是 image.png



高斯函数广泛应用于统计学领域,用于表示正态分布,在信号处理领域,用于定义高斯滤波器

在图像处理领域,二维高斯核函数常应用于高斯模糊,在数学领域用于解决热力方程和扩散方程



由上图可知,高斯函数是一个指数函数,其log函数是对数凹二次函数


高斯函数的积分是误差函数,尽管如此,其在整个实线上的反常积分能够被精确的计算出来,使用如下的高斯积分

                        image.png

同理可得

                  image.png

当且仅当

                    image.png


上式积分为1,在这种情况下,高斯是正态分布随机变量的概率密度函数,期望值μ=b,

方差δ平方= c平方, 即:

                    image.png


高斯函数分析:

实际编程应用中,高斯函数中的参数有:

ksize:高斯函数的大小

sigma:高斯函数的方差

center:高斯函数尖峰中心点坐标

bias:高斯函数尖峰中心点的偏移量,用于控制截断高斯函数






对于图像处理因为图像是二维的,所以我们需要二维的正态分布


image.png



因为其一维形式是 image.png


所以根据其二维形式可以得到二维高斯函数

image.png

利用这个函数计算每个点的权重



权重矩阵 假设中心点的坐标是(0,0),那么距离它最近的8个点的坐标如下: (远点以此类推)

image.png

计算权重需要设置σ的值,假定σ=1.5,则模糊半径为1的权重矩阵如下:

image.png

这九个点的权重总和为0.4787147,如果只计算这9个点的加权平均,还必须让他们的权重之和等于1,要分因此这九个值还别除以0.4787147,得到最终的权重矩阵

image.png


计算高斯模糊

有了权重矩阵就可以计算高斯模糊得值了


假设现有9个像素值,灰度值(0-255)如下

image.png

每个点乘以自己得权重值:

image.png

得到

image.png

将这9个值加起来,就是中心点得高斯模糊得值


对所有点重复这个过程,就得到了高斯模糊后得像,如果原图是彩色图片,可以对RGB三个通道分别做高斯模糊


相关文章
|
7月前
|
人工智能 Python
083_类_对象_成员方法_method_函数_function_isinstance
本内容主要讲解Python中的数据类型与面向对象基础。回顾了变量类型(如字符串`str`和整型`int`)及其相互转换,探讨了加法在不同类型中的表现。通过超市商品分类比喻,引出“类型”概念,并深入解析类(class)与对象(object)的关系,例如具体橘子是橘子类的实例。还介绍了`isinstance`函数判断类型、`type`与`help`探索类型属性,以及`str`和`int`的不同方法。最终总结类是抽象类型,对象是其实例,不同类型的对象有独特运算和方法,为后续学习埋下伏笔。
159 7
083_类_对象_成员方法_method_函数_function_isinstance
|
7月前
|
Python
[oeasy]python086方法_method_函数_function_区别
本文详细解析了Python中方法(method)与函数(function)的区别。通过回顾列表操作如`append`,以及随机模块的使用,介绍了方法作为类的成员需要通过实例调用的特点。对比内建函数如`print`和`input`,它们无需对象即可直接调用。总结指出方法需基于对象调用且包含`self`参数,而函数独立存在无需`self`。最后提供了学习资源链接,方便进一步探索。
181 17
|
7月前
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
193 11
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新特性,与传统函数相比,它有更简洁的语法,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。箭头函数不适用于构造函数,不能使用new关键字调用。
|
数据可视化 开发者 索引
详解Wireshark LUA插件函数:function p_myproto.dissector(buffer, pinfo, tree)
在 Wireshark 中,LUA 插件通过 `function p_myproto.dissector(buffer, pinfo, tree)` 扩展协议解析能力,解析自定义应用层协议。参数 `buffer` 是 `PacketBuffer` 类型,表示原始数据包内容;`pinfo` 是 `ProtoInfo` 类型,包含数据包元信息(如 IP 地址、协议类型等);`tree` 是
583 1
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
148 0
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新语法,相比传统函数表达式更简洁,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。这使得箭头函数在处理回调和闭包时更加灵活方便。
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
135 3
|
安全 JavaScript 应用服务中间件
【Azure Function App】如何修改Azure函数应用的默认页面呢?
【Azure Function App】如何修改Azure函数应用的默认页面呢?
106 3

热门文章

最新文章

下一篇
oss云网关配置