高斯模糊是众多模糊算法中的一种,所谓的模糊,就是平滑图像,消除像素之间的差异,最容易想到的方法就是均值平滑。
.均值模糊
均值模糊就是取目标像素周围像素的平均值.譬如
像素矩阵.
|1|1|1|
|1|2|1|
|1|1|1|,
经过均值模糊后,就变成
|1|1|1|
|1|1|1|
|1|1|1|,
这样就模糊了像素之间的差异,但是这样做明显有缺陷,因为越远的像素对目标像素的影响越小。
所以,离目标像素越远,对目标像素影响越大,反之越小.
所以,这个非常符合正态分布,所以,我们首先先生成高斯核,公式为
G(x,y) = (1/2*PI*Sigma^2)^N*(E^(-(x^2+y^2/)2*Sigma*Sigma)
其中,Sigma为标准差,N为demension,根据高斯核函数,就可以生成Kernel,
例如,5*5的Kernel为
6.5857407E-6 4.247807E-4 0.0017035368 4.247807E-4 6.5857407E-6
4.247807E-4 0.027398387 0.10987825 0.027398387 4.247807E-4
0.0017035368 0.10987825 0.44065478 0.10987825 0.0017035368
4.247807E-4 0.027398387 0.10987825 0.027398387 4.247807E-4
6.5857407E-6 4.247807E-4 0.0017035368 4.247807E-4 6.5857407E-6
(通常我们只需要计算(6*Sigma+1)(6*Sigma+1)大小的Kernel即可)
这样,我们就有了一个Kernel,就可以与原图像做convolutions.