高斯滤波原理及应用_数字图像处理高斯滤波器

高斯滤波原理及应用_数字图像处理高斯滤波器1一维高斯分布 1.1一维高斯分布的定义 若连续型随机变量X的概率密度为:其中,为常数,则称X服从参数为,的正态分布或高斯分布,记为 1.2一维高斯分布的曲线 横轴表示可能的取值x,竖轴表示概率分布密度F(x),那么不难理解这样一个曲线与x轴围…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

  • 1   一维高斯分布

  • 1.1  一维高斯分布的定义

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

                                                   \tiny f(x)=\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-u)^{2}}{2\sigma ^{2}}}

其中\tiny u\tiny uX~N(u,\sigma ^{2})

  • 1.2  一维高斯分布的曲线

高斯滤波原理及应用_数字图像处理高斯滤波器

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

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

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

  • 1.3  标准一维高斯分布

\tiny u=0\sigma=1时称随机变量X服从标准正态分布:

                                                                          \tiny f(x)=\frac{1}{\sqrt{2\pi } }e^{-\frac{x^{2}}{2}}

  • 2   二维高斯分布

  • 2.1  二维高斯分布的定义

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

                                         f(x,y)=f(x)f(y)=\frac{1}{\sqrt{2\pi }\sigma_{x} }e^{-\frac{(x-u_{x})^{2}}{2\sigma_{x} ^{2}}}\frac{1}{\sqrt{2\pi }\sigma_{y} }e^{-\frac{(x-u_{y})^{2}}{2\sigma_{y} ^{2}}}

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

                                                                          \tiny \sigma _{x}=\sigma _{y}

\tiny u_{x}=u_{y}=0时,二维高斯函数如下:

                                                    f(x,y)=f(x)f(y)=\frac{1}{2\pi \sigma^{2} }e^{-\frac{x^{2}+y^{2}}{2\sigma ^{2}}}

  • 2.2  二维高斯分布的曲线

高斯滤波原理及应用_数字图像处理高斯滤波器

  • 3   二维高斯滤波器

  • 3.1  高斯滤波器简介

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

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

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

高斯滤波原理及应用_数字图像处理高斯滤波器

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

                                                                  f(x,y)=\frac{1}{2\pi \sigma^{2} }e^{-\frac{x^{2}+y^{2}}{2\sigma ^{2}}}

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

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

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

                                                               \begin{bmatrix} 1 & 2.1842 & 1\\ 2.1842& 4.7707& 2.1842 \\ 1 & 2.1842 & 1 \end{bmatrix}

取整后为:

                                                                             \begin{bmatrix} 1 & 2 & 1\\ 2& 4& 2 \\ 1 & 2 & 1 \end{bmatrix}

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

                                                                      \frac{1}{16}\begin{bmatrix} 1 & 2 & 1\\ 2& 4& 2 \\ 1 & 2 & 1 \end{bmatrix}

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

  • 3.3  \sigma值的意义及选取

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

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

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

  • 3.4高斯函数的五个性质

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

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

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

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

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

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

  • 4.  Opencv中的高斯函数

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

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

Jetbrains全家桶1年46,售后保障稳定

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

                                       高斯滤波原理及应用_数字图像处理高斯滤波器       高斯滤波原理及应用_数字图像处理高斯滤波器      高斯滤波原理及应用_数字图像处理高斯滤波器

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

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

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200910.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Vue中,methods中调用filters里的过滤器

    Vue中,methods中调用filters里的过滤器需求:vue中,除了在模板中使用过滤器,有时候,methods中也需要使用filters中的过滤器! this.$options.filters[filter](…args)//这种方法很简单,也很实用打印 this.$options.filters报错,打印this.$options.filters.myFilter正常,显示为一个function原文地址:https:/…

  • FileProvider 的使用(Failed to find configured root that contains/storage/emulated/0/DCIM/ )

    FileProvider 的使用(Failed to find configured root that contains/storage/emulated/0/DCIM/ )首先扯点别的:今天不上班,在家里和剑宗喝了点酒,和同学聊了会天,也是挺开心,现在学会习。以前调用系统相机拍照的时候,流程是这样的privatevoidtakePhoto(){IntenttakePictureIntent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);if(takePictureIntent

    2022年10月29日
  • PotPlayer快捷键大全_艾孜尔江整理

    PotPlayer快捷键大全_艾孜尔江整理”播放->跳略播放->跳略播放开|关’播放->跳略播放->跳略播放设置…,字幕->字幕同步(帧率)->滞后0.5秒Alt+,字幕->字幕同步(帧率)->滞后50秒.字幕->字幕同步(帧率)->超前0…

  • IPV6服务器搭建「建议收藏」

    IPV6服务器搭建「建议收藏」环境准备:1.安装虚拟机(virtualbox)2.在虚拟机中安装Ubuntu系统3.dhcp-4.2.5.tar源码 配置虚拟机环境:1.配置虚拟机gcc命令,快捷键:CTRL

  • OpenSSL密码库算法笔记——第5.4.13章 椭圆曲线点的压缩

    OpenSSL密码库算法笔记——第5.4.13章 椭圆曲线点的压缩首先来看看什么是点的压缩。椭圆曲线上的任一仿射点(x,y)(非无穷远点)都可以压缩成利用其y坐标的最后一比特(记为y*)和x坐标来表示,即(x,y*),这就是点的压缩。反过来,利用(x,y*)恢复y坐标,还原仿射点(x,y)的过程就称为点的解压缩。利用点的压缩可以减少存储和传输时的数据量,但增加了数据处理时间。代码中用参数point_conver…

  • pycharm不会自动补全括号_pycharm自动提示

    pycharm不会自动补全括号_pycharm自动提示安装pycharm后,输入代码后,没有补全提示首先检查是否关闭了代码提示,如下图,将红框中“PowerSaveMode”前的勾去掉第二步,如果在输入某些代码时还是没有补全提醒,可能是配置好python环境则点击file->settings->projectInterpreter,如下图选择安装的python输入代码就会有提示了…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号