关于高斯函数的学习

一、基础部分

关于高斯函数的学习_第1张图片

  • μ指的是期望,决定了正态分布的中心对称轴
  • σ指的是方差决定了正态分布的胖瘦,方差越大,正态分布相对的胖而矮
  • 方差:(x指的是平均数)

  •  标准差:方差开根号
  •  任何正态分布的概率密度从负无穷到正无穷积分结果都为1

二、高斯函数(一维)

a是曲线尖峰的高度,b是尖峰中心的坐标,c称为标准方差,表征的是bell钟状的宽度

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

同理可得

当且仅当

上式积分为1

在这种情况下,高斯是正态分布随机变量的概率密度函数,期望值μ=b,方差σ^2 = c^2

三、高斯函数分析

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

  • ksize 高斯函数的大小
  • sigma 高斯函数的方差
  • center 高斯函数尖峰中心点坐标
  • bias 高斯函数尖峰中心点的偏移量,用于控制截断高斯函数

已知方差决定了正态分布的胖瘦,方差越大,正态分布相对的胖而矮。这个理论适用于二维情况。通过在matlab中观察修改sigma后的图像,得到以下结论。

  • 随着sigma的增大,方差增大,整个高斯函数的尖峰逐渐减小,整体也变的更加平缓,则对图像的平滑效果越来越明显,即图像会变得更模糊。
  • sigma越大,则图形越宽,尖峰越小,图形较为平缓;sigma越小,则图形越窄,越集中,中间部分也就越尖,图形变化比较剧烈。这其实很好理解,如果sigma也就是标准差越大,则表示该密度分布一定比较分散,由于面积为1,于是尖峰部分减小,宽度越宽(分布越分散);同理,当sigma越小时,说明密度分布较为集中,于是尖峰越尖,宽度越窄!
  • sigma越大,分布越分散,各部分比重差别不大,于是生成的模板各元素值差别不大,类似于平均模板;sigma越小,分布越集中,中间部分所占比重远远高于其他部分,反映到高斯模板上就是中心元素值远远大于其他元素值,于是自然而然就相当于中间值得点运算。

高斯模板实际上也就是模拟高斯函数的特征,具有对称性并且数值由中心向四周不断减小,这个模板刚好符合这样的特性,并且非常简单 

 高斯模板是通过高斯函数计算出来的,公式如下:

关于高斯函数的学习_第2张图片

常用的高斯模板有如下几种形式:

四、基于python

GaussianBlur(src,ksize,sigmaX [,dst [,sigmaY [,borderType]]])-> dst

  • src输入图像;图像可以具有任意数量的通道
  • dst输出图像的大小和类型与src相同。
  • ksize高斯内核大小。 ksize.width和ksize.height可以不同,但​​它们都必须为正数和奇数,也可以为零,然后根据sigma计算得出。
  • sigmaX X方向上的高斯核标准偏差。
  • sigmaY Y方向上的高斯核标准差;如果sigmaY为零,则将其设置为等于sigmaX;如果两个sigmas为零,则分别从ksize.width和ksize.height计算得出;为了完全控制结果,而不管将来可能对所有这些语义进行的修改,建议指定所有ksize,sigmaX和sigmaY。

你可能感兴趣的:(关于高斯函数的学习)