/****************************************************************
* 程序说明: 高斯模糊的定义、原理及C++实现
* 补充说明: (1)高斯模糊的定义、原理:http://baike.baidu.com/item/高斯模糊
* 为了便于说明,先假设模糊半径 r = 3 ,方差 sigma = 1.5 ,
* 对应的像素矩阵为:
* 14 15 16
* 24 25 26
* 34 35 36
* 简单一点的说,假设要对某个点进行高斯模糊,则把它视为
* 中心点,坐标为(0,0);然后根据其模糊半径的不同(如,模糊
* 半径为3时),其周围的8个点的(上下左右,两个斜对角)坐标
* 如下((0,0)点为二维坐标轴的原点):
* (-1,1) (0,1) (1,1)
* (-1,0) (0,0) (1,0)
* (-1,-1) (0,-1) (1,-1)
* 然后根据二维高斯函数: G(x,y)=1/(2*pi*sigma^2)*e^(-(x^2+y^2)/(2*sigma^2))
* 计算对应的权重矩阵如下:
* 0.0453542 0.0566406 0.0453542
* 0.0566406 0.0707355 0.0566406
* 0.0453542 0.0566406 0.0453542
* 然后对其归一化:
* 0.0947416 0.1183180 0.0947416
* 0.1183180 0.1477610 0.1183180
* 0.0947416 0.1183180 0.0947416
* 将每个点乘以自己对应的权重:
* 14*0.0947416 15*0.1183180 16*0.0947416
* 24*0.1183180 2
高斯模糊原理与C++实现
最新推荐文章于 2025-03-31 14:33:53 发布