一、基础部分
μ指的是期望,决定了正态分布的中心对称轴
σ指的是方差决定了正态分布的胖瘦,方差越大,正态分布相对的胖而矮
方差:(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越小,分布越集中,中间部分所占比重远远高于其他部分,反映到高斯模板上就是中心元素值远远大于其他元素值,于是自然而然就相当于中间值得点运算。
高斯模板实际上也就是模拟高斯函数的特征,具有对称性并且数值由中心向四周不断减小,这个模板刚好符合这样的特性,并且非常简单
高斯模板是通过高斯函数计算出来的,公式如下:
常用的高斯模板有如下几种形式:
四、基于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。