高斯分布函数解析

高斯分布函数解析

http://www.cnblogs.com/ttthink/articles/1577789.html

高斯模糊是一种图像模糊滤波器,它用正态分布计算图像中每个像素的变换

N 维空间正态分布方程为

在二维空间定义为

其中 r 是模糊半径 (r2 = u2 + v2)σ 是正态分布的标准偏差

在二维空间中,这个公式生成的曲面的等高线是从中心开始呈正态分布的同心圆分布不为零的像素组成的卷积矩阵与原始图像做变换。每个像素的值都是周围相邻像素值的加权平均原始像素的值有最大的高斯分布值,所以有最大的权重,相邻像素随着距离原始像素越来越远,其权重也越来越小。这样进行模糊处理比其它的均衡模糊滤波器更高地保留了边缘效果,参见尺度空间实现

理论上来讲,图像中每点的分布都不为零,这也就是说每个像素的计算都需要包含整幅图像。在实际应用中,在计算高斯函数的离散近似时,在大概距离之外的像素都可以看作不起作用,这些像素的计算也就可以忽略。通常,图像处理程序只需要计算(6σ + 1) * (6σ + 1)的矩阵就可以保证相关像素影响。

除了圆形对称之外,高斯模糊也可以在二维图像上对两个独立的一维空间分别进行计算,这叫作线性可分。这也就是说,使用二维矩阵变换得到的效果也可以通过在水平方向进行一维高斯矩阵变换加上竖直方向的一维高斯矩阵变换得到。从计算的角度来看,这是一项有用的特性,因为这样只需要 O(n * M * N) + O(m * M * N)计算,而不可分的矩阵则需要O(m * n * M * N)次计算,其中 M,N 是需要进行滤波的图像的维数,mn 是滤波器的维数。

对一幅图像进行多次连续高斯模糊的效果与一次更大的高斯模糊可以产生同样的效果,大的高斯模糊的半径是所用多个高斯模糊半径平方和的平方根。例如,使用半径分别为 6 8 的两次高斯模糊变换得到的效果等同于一次半径为 10 的高斯模糊效果,sqrt(6 * 6 + 8 * 8) = 10。根据这个关系,使用多个连续较小的高斯模糊处理不会比单个高斯较大处理时间要少。

在减小图像尺寸的场合经常使用高斯模糊。在进行欠采样的时候,通常在采样之前对图像进行低通滤波处理。这样就可以保证在采样图像中不会出现虚假的高频信息。高斯模糊有很好的特性,如没有明显的边界,这样就不会在滤波图像中形成震荡。

/*

ex次方的函数

exp(1)=e
1次方=e=2.718281828...
exp(0)=e
0次方
=1
exp(2)=e
的平方
=7.3890561...
e
是一个常数,等于2.718281828...
*/

 

将原来的模板改为:

     / 1   2   1 /

H = | 2   4   2  | * 1 / 16

     / 1   2   1 /

新的模板可一方面除去点状噪声,同时能较好地保留原图像的对比度,因此该模板得到了广泛的应用。由于这个模板是通过二维高斯(Gauss)函数得到的,故称为高斯模板。

 

 

 

 

 

高斯函数有两个特性:  

  1:一个高斯函数跟另外一个高斯函数的卷积仍然是一个高斯函数,A*B=C   C的标准差的平方是AB的标准差的平方和,也就是说卷积后的高斯函数更宽,模糊的效果更明显(直观上看,连续做高斯模糊运算,图像会越来越模糊。)  

  2:高斯函数的傅立叶变换仍然是一个高斯函数,如果原来的高斯函数越宽(标准差越大),变换后的高斯函数就越窄(标准差越小),也就是说一个越宽的高斯函数,低通(高阻)滤波的效果越明显,处理后的图像的细节就越不清楚(更模糊)。  

   

  要对数字图像做高斯模糊,就是用一个符合高斯函数分布的卷积核对数字图像做卷积运算。  

  要确定的有标准差的大小,卷积核的大小,最后的比例系数的大小。  

   

  一个标准差为1.4的高斯5x5的卷积核:  

   

  2   4   5   4   2  

  4   9   12   9   4  

  5   12   15   12   5  

  4   9   12   9   4  

  2   4   5   4   2        

   

  最后乘以比例系数   1/115 

 

http://blog.csdn.net/jianxiong8814/archive/2007/04/12/1562728.aspx

你可能感兴趣的:(c,图像处理)