数字图像处理—图像高斯模糊运算直观解释
2014-10-17 17:51
375 查看
二维高斯函数:
其图像为:
设一幅图像为I=f(x,y),I表示图像的灰度值,定义运算:
表示对图像I=f(x,y)进行卷积运算,其中卷积核就是高斯函数,函数L表示通过运算符对G和f进行某种规则XXOO得到的一新函数。实际上运算后的图像L就是被高斯函数模糊过的图像。到这里别管卷积运算是神马,你只要知道符号*表示一种运算规则,只要通过这个规则(后面开始解释)就行。
学过高数的应该要看懂下面这个东西:
看不懂回去面壁思过去 -_-#
这意味着二维高斯函数在每一点(x,y)对应着一个权值,这些权值之和恰好等于1。
公式(2)的含义实际上就是在一个像素点(x,y)处,把高斯函数图像的中心点对准(x,y)点,将点(x,y)周围的所有的像素点与对应的权值相乘后进行求和,点(x,y)对应的权值为G(0,0,σ),点(x+1,y+1)对应的权值为G(1,1,σ),点(x+m,y+n)对应的权值为G(m,n,σ)。
说了半天,嘛意思?
用大白话说,就是点(x,y)最后的像素值应该是其周围每个像素点都贡献了一定的值,再将这些值进行叠加得来的,越靠近点(x,y),其贡献的值越多,当然点(x,y)自己本身贡献的值一定是最多的(因为权重是最大的)。越远离点(x,y)的像素点则贡献的值就越小(因为权重小)。
写成表达式就是这个样子,这也就是公式(2)的离散形式:
m,n为整数,对于图像来说,(x,y)当然也得为整数啦~
在实际操作中,对于那些距(x,y)非常远的点,其贡献值几乎可以忽略不计了,所以通常可以不用计算,近似认为贡献值为0,那么式(3)就可以改为
这个 h 的值到底取多少合适呢?不用担心,大牛们已经为我们计算好了:
h=3σ
对于半径超过3σ距离以外的点,G(m,n)这个权值几乎快要等于0了,从前面的函数图像可以看到,周围一大片几乎已经贴到坐标平面上了,只有中间突起比较显眼。这就是大家常说的3σ原则。
当你的选取的越大的时候(高斯函数图像整个变胖变矮了),图像被模糊的越厉害,直观上看就是靠近点(x,y)的像素点贡献值相对以前来说变小了,反而那些远离(x,y)点的像素点贡献值反而变大了。
每次我们在计算高斯卷积时,事先都先根据设定好的σ值,通过高斯函数来获得一系列的(x,y,z)值,通常都是一个矩阵,这个矩阵的大小就2*3σ+1行2*3σ+1列,大家都叫它为Gaussian kernel(高斯核),比如 σ = 0.6 时,大小为
5X5, 这个高斯核为:
其图像为:
设一幅图像为I=f(x,y),I表示图像的灰度值,定义运算:
表示对图像I=f(x,y)进行卷积运算,其中卷积核就是高斯函数,函数L表示通过运算符对G和f进行某种规则XXOO得到的一新函数。实际上运算后的图像L就是被高斯函数模糊过的图像。到这里别管卷积运算是神马,你只要知道符号*表示一种运算规则,只要通过这个规则(后面开始解释)就行。
学过高数的应该要看懂下面这个东西:
看不懂回去面壁思过去 -_-#
这意味着二维高斯函数在每一点(x,y)对应着一个权值,这些权值之和恰好等于1。
公式(2)的含义实际上就是在一个像素点(x,y)处,把高斯函数图像的中心点对准(x,y)点,将点(x,y)周围的所有的像素点与对应的权值相乘后进行求和,点(x,y)对应的权值为G(0,0,σ),点(x+1,y+1)对应的权值为G(1,1,σ),点(x+m,y+n)对应的权值为G(m,n,σ)。
说了半天,嘛意思?
用大白话说,就是点(x,y)最后的像素值应该是其周围每个像素点都贡献了一定的值,再将这些值进行叠加得来的,越靠近点(x,y),其贡献的值越多,当然点(x,y)自己本身贡献的值一定是最多的(因为权重是最大的)。越远离点(x,y)的像素点则贡献的值就越小(因为权重小)。
写成表达式就是这个样子,这也就是公式(2)的离散形式:
m,n为整数,对于图像来说,(x,y)当然也得为整数啦~
在实际操作中,对于那些距(x,y)非常远的点,其贡献值几乎可以忽略不计了,所以通常可以不用计算,近似认为贡献值为0,那么式(3)就可以改为
这个 h 的值到底取多少合适呢?不用担心,大牛们已经为我们计算好了:
h=3σ
对于半径超过3σ距离以外的点,G(m,n)这个权值几乎快要等于0了,从前面的函数图像可以看到,周围一大片几乎已经贴到坐标平面上了,只有中间突起比较显眼。这就是大家常说的3σ原则。
当你的选取的越大的时候(高斯函数图像整个变胖变矮了),图像被模糊的越厉害,直观上看就是靠近点(x,y)的像素点贡献值相对以前来说变小了,反而那些远离(x,y)点的像素点贡献值反而变大了。
每次我们在计算高斯卷积时,事先都先根据设定好的σ值,通过高斯函数来获得一系列的(x,y,z)值,通常都是一个矩阵,这个矩阵的大小就2*3σ+1行2*3σ+1列,大家都叫它为Gaussian kernel(高斯核),比如 σ = 0.6 时,大小为
5X5, 这个高斯核为:
相关文章推荐
- 【数字图像处理】五.MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理具体解释
- 【数字图像处理】图像二值化,腐蚀膨胀,开闭运算,击中击不中变换
- 图像处理之基于一维高斯快速模糊
- Win8 Metro(C#)数字图像处理--2.50图像运动模糊
- 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放具体解释
- 数字图像处理3---图像基本运算
- 数字图像处理—图像分割—分类
- 数字图像处理:10.形态学运算
- 高斯图像模糊算法及其 C 实现
- 数字图像处理_高斯噪声_纯C
- 图像处理之基于一维高斯快速模糊
- 图像处理之高斯模糊
- 数字图像处理—图像分割—串行边界(图)
- opencv for python (13) 图像卷积及图像平滑(平均、高斯模糊、中值模糊、双边滤波)
- 数字图像处理之几何运算
- 数字图像处理中常用到的一些英文词汇及其解释
- 数字图像处理3---图像基本运算--续
- 高斯(Guassian)模糊 图像滤波 基本原理介绍
- 数字图像的基本运算
- 数字图像学习一之点运算