• 1   一维高斯分布

  • 1.1  一维高斯分布的定义

若连续型随机变量X的概率密度为:

其中为常数,则称X服从参数为的正态分布或高斯分布,记为

  • 1.2  一维高斯分布的曲线

横轴表示可能的取值x,竖轴表示概率分布密度F(x),那么不难理解这样一个曲线与x轴围成的图形面积为1。因其曲线呈钟形,因此人们又经常称之为钟形曲线。正态分布的期望值决定了曲线的位置,标准差决定了分布的幅度。

越大,则图形越宽,分布越分散,尖峰越小;

越小,则图形越窄,分布越集中,尖峰越大;

  • 1.3  标准一维高斯分布

时称随机变量X服从标准正态分布:

  • 2   二维高斯分布

  • 2.1  二维高斯分布的定义

二维高斯分布函数为X,Y两个方向的一维高斯函数的乘积:

根据二维高斯函数具有旋转对称性得出:

时,二维高斯函数如下:

  • 2.2  二维高斯分布的曲线

  • 3   二维高斯滤波器

  • 3.1  高斯滤波器简介

高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。但其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1,而高斯滤波器的模板系数则随着距离模板中心的增大而减小。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小。

  • 3.2  生成高斯滤波器模板(掩模)

要产生一个3×3的高斯滤波器模板,以模板的中心位置为坐标原点进行取样。模板在各个位置的坐标,如下所示(x轴水平向右,y轴竖直向下)。

其中(x,y)为点坐标,在图像处理中可认为是整数,是标准差。将各个位置的坐标带入到高斯函数中,得到的值就是模板的系数,模板中各个元素值的计算公式如下:

 =0.8时,计算出来的模板有两种形式:小数和整数

1)小数形式的模板,就是直接计算得到的值,没有经过任何的处理;

2)整数形式的模板需要进行归一化处理,即将模板左上角的值归一化为1。

取整后为:

使用整数的模板时,需要在模板的前面加一个系数,该系数为模板系数和的倒数,最终得到模板如下:

注意:由于最后要进行归一化处理,因此在计算模板中各个元素的值时,可以去掉高斯函数的系数

  • 3.3  值的意义及选取

通过上述的实现过程发现,生成高斯滤波器模板最重要的参数就是高斯分布的标准差,标准差代表着数据的离散程度。

越小,模板的中心系数越大,周围的系数越小,这样对图像的平滑效果就不是很明显;

越大,模板的各个系数相差就不是很大,比较类似均值模板,对图像的平滑效果比较明显。

  • 3.4高斯函数的五个性质

高斯平滑滤波器,无论在空间域还是在频率域都是十分有效的低通滤波器,高斯函数具有五个十分重要的性质:

(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的。一般来说,一幅图像的边缘方向是事先不知道的,因此,在滤波前是无法确定一个方向上比另一方向上需要更多的平滑。旋转对称性意味着高斯平滑滤波器在后续边缘检测中不会偏向任一方向。

(2)高斯函数是单值函数。这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的。这一性质是很重要的,因为边缘是一种图像局部特征,如果平滑运算对离算子中心很远的像素点仍然有很大作用,则平滑运算会使图像失真。

(3)高斯函数的傅里叶变换频谱是单瓣的。正如下面所示,这一性质是高斯函数的傅里叶变换等于高斯函数本身(但幅值和方差发生了变化,尤其是方差变为倒数)这一事实的直接推论。图像常被不希望的高频信号所污染(噪声和细纹理 )。而所希望的图像特征(如边缘),既含有低频分量,又含有高频分量。高斯函数傅里叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需信号。

(4)高斯滤波器宽度(决定着平滑程度)是由参数σ表征的,而且σ和平滑程度的关系是非常简单的。σ越大,平滑程度就越好。通过调节平滑程度参数σ,可在图像特征过分模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折中。

(5)由于高斯函数的可分离性,大高斯滤波器可以得以有效地实现。二维高斯函数卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积结果与方向垂直的相同一维高斯函数卷积。因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长。

  • 4.  Opencv中的高斯函数

opencv中只给出了构建一维垂直方向上的高斯卷积核的函数:

Mat getGaussianKernel( int ksize,         //一维垂直方向上高斯核的行数double sigma,      //标准差int ktype = CV_64F //返回值的数据类型)

对于一维水平方向上的高斯卷积核,可以通过对垂直方向上的卷积核进行转置得到。对于二维的高斯卷积核可以通过两个一维的卷积核卷积得到。(opencv中没有找到合适的卷积的函数,这里用乘积代替)

            

一维垂直方向                 一维水平方向                                二维卷积核

 //构建一维垂直方向上的卷积核Mat y = getGaussianKernel(3, 1);//构建一维水平方向上的卷积核Mat x = getGaussianKernel(3, 1);x = x.t();//转置//构建二维卷积核Mat K = y*x;

高斯函数及高斯滤波器相关推荐

  1. AI笔记: 计算机视觉之SIFT特征检测: 尺度空间、二维高斯函数、高斯金字塔

    SIFT概述 SIFT的全称是Scale Invariant Feature Transform(尺度不变特征变换),是由加拿大教授David G.Lowe在1999年发表于计算机视觉国际会议,200 ...

  2. 高斯分布(正态分布)(高斯函数)(Gaussian)(高斯噪声)

    高斯分布就是正态分布 有两个参数,期望μ和方差σ^2, N(μ,σ^2) 当μ = 0,σ = 1时的正态分布是标准正态分布 一维高斯函数 二维高斯函数 高斯噪声 高斯噪声是指它的概率密度函数服从高斯 ...

  3. 随机过程:高斯函数导数、梯度

    一.说明 高斯函数广泛应用于统计学领域,随机过程,谱分析等.在信号处理领域,用于定义高斯滤波器,在图像处理领域,二维高斯核函数常用于高斯模糊Gaussian Blur,在数理方程领域,主要是用于解决热 ...

  4. matlab 高斯一阶导,高斯函数及其各阶导数

    [使用Matlab进行拟合是图像处理中线条变换的一个重点内容,本文将详解Matlab中的直线拟合和曲线拟合用法.关键函数:fittypeFit type for curve and surface f ...

  5. c++ log函数_高斯拉普拉斯算子(Laplacian of Gaussian, LoG)

    一.简要描述: 拉普拉斯算子是图像二阶空间导数的二维各向同性测度.拉普拉斯算子可以突出图像中强度发生快速变化的区域,因此常用在边缘检测任务当中.在进行Laplacian操作之前通常需要先用高斯平滑滤波 ...

  6. 高斯函数以及在图像处理中的应用总结

    1.一维高斯函数: a表示得到曲线的高度,b是指曲线在x轴的中心,c指width(与半峰全宽有关),图形如下: . 2.根据一维高斯函数,可以推导得到二维高斯函数: 在图形上,正态分布是一种钟形曲线, ...

  7. gaussian_filter( )函数(高斯滤波)

    对一个数进行高斯滤波(模糊)可以理解成将该数取附近矩形窗口所有值的加权平均值,距离处理数越近的点权重越大,距离处理点越远的点权重越小.因此如果取的矩形窗口越大,那么对处理点的模糊效果越强烈. 上图,对 ...

  8. MATLAB编程(4)——MATLAB绘制二维高斯函数的三维图

    本篇博文记录使用MATLAB绘制二维高斯函数的三维图. 用到的MATLAB函数--mesh()(绘制三维线框图)和surf()(绘制三维表面图). MATLAB命令窗口输入>> doc 函 ...

  9. 图像处理中的数学基础--高斯函数(Gaussian Function)分析

    摘要 论文中遇到很重要的一个元素就是高斯核函数,但是必须要分析出高斯函数的各种潜在属性,本文首先参考相关材料给出高斯核函数的基础,然后使用matlab自动保存不同参数下的高斯核函数的变化gif动图,同 ...

  10. 高斯函数(Gaussian function)的详细分析

    摘要 论文中遇到很重要的一个元素就是高斯核函数,但是必须要分析出高斯函数的各种潜在属性,本文首先参考相关材料给出高斯核函数的基础,然后使用matlab自动保存不同参数下的高斯核函数的变化gif动图,同 ...

最新文章

  1. 把 Bug 晾几天就能解决了!!! | 每日趣闻
  2. C#函数式程序设计之惰性列表工具——迭代器
  3. Py之qrcode:调用python的qrcode库两种方式生成二维码、带logo的二维码
  4. js下拉 selenium_selenium 难定位元素,时间插件,下拉框定位,string
  5. 如何判断程序猿在做什么
  6. 如何变得有价值,需要突破问题,提高解决各种问题的能力?
  7. 【redis】redis应用场景,缓存的各种问题
  8. Python3基础13——冒泡排序
  9. python编程求n的阶乘_使用Python编程的阶乘
  10. DNSBIND——DNS的ACL和视图
  11. 拓端tecdat|R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化
  12. android大智慧安装目录,大智慧的文件目录结构
  13. mysql数据库丢失还原_MySQL数据库丢失后如何自动恢复呢?
  14. 互联网人吐槽互撕系列漫画 要来啦~
  15. 2019你会被裁员吗?
  16. 正面管教读书笔记 04 重新看待不良行为
  17. 基于Linux环境中C语言程序----Hello World
  18. 从Trimble服务器下载历书
  19. win10系统C盘瘦身记录
  20. 个人品牌的三项基本功

热门文章

  1. 微信表情商店暂停是怎么回事?具体停用原因详情
  2. 产品经理必须要掌握的数据分析能力
  3. javaJNI(javah用法)
  4. 【简历模板】网站推荐
  5. 小米全系列机型代码查询与 制作rom分区架构图示
  6. 高速PCB设计考虑的六个方面
  7. 16进制颜色代码转RGB代码
  8. Linux - 搭建ftp服务器
  9. Mac笔记本安装maven
  10. 大一计算机理论知识测试题,2017计算机基础大一考试试题「附答案」