一 高斯函数:是通过周围周围的点按距离权重计算当前点的值。
sigma是方差
假设sigma=1.5(这里为什么假设一个sigma,而不是直接使用实际的sigma,因为计算出来的方差也包含了图像的细节,如果
直接用图像的方差来计算高斯模糊,强度过大)
高斯距离矩阵
按照最上面的公式计算出来的权重值,但是这些值的和不为0,因此需要归一化一下。
即:a(0,8) 累加的和假设是M,
则new_a[0] = 1/M*a[0];
然后中间这个像素点的值为:
result = a[0]*f(-1,-1) + ....a[8]*f(1,1);
二 双边滤波
双边滤波相对于高斯滤波,多了一个调整因子,即两个像素值的差值。Wr,详见下面公式:
总的公式:g(i,j) 表示(x,y周围的某一个点),该公式表示的意思是,(x,y周围的某个点(i,j)对(x,y最终调整结果的影响函数))
f(x,y)最终是周围点的带权求和
Ws为距离权重
Wr为像素值权重
sigma得很含义和高斯函数中的类似,以上就是两种不同的函数对图像进行模糊/去噪的计算过程,可以看出来双边滤波引入了Wr因子,也更合理,更能保持图像的细节。但是运算量相对就大很多。