专栏名称: 算法与数据结构
算法与数据结构知识、资源分享
目录
相关文章推荐
九章算法  ·  6月LeetCode刷题小分队正式开始啦:刷 ... ·  昨天  
算法爱好者  ·  震撼!美国卡脖子下,中国工程师拖 4 ... ·  3 天前  
51好读  ›  专栏  ›  算法与数据结构

高斯模糊的算法

算法与数据结构  · 公众号  · 算法  · 2017-02-09 09:09

正文

请到「今天看啥」查看全文



显然,计算平均值时,取值范围越大,"模糊效果"越强烈。



上面分别是原图、模糊半径3像素、模糊半径10像素的效果。模糊半径越大,图像就越模糊。从数值角度看,就是数值越平滑。


接下来的问题就是,既然每个点都要取周边像素的平均值,那么应该如何分配权重呢?


如果使用简单平均,显然不是很合理,因为图像都是连续的,越靠近的点关系越密切,越远离的点关系越疏远。因此,加权平均更合理,距离越近的点权重越大,距离越远的点权重越小。


二、正态分布的权重


正态分布显然是一种可取的权重分配模式。



在图形上,正态分布是一种钟形曲线,越接近中心,取值越大,越远离中心,取值越小。


计算平均值的时候,我们只需要将"中心点"作为原点,其他点按照其在正态曲线上的位置,分配权重,就可以得到一个加权平均值。


三、高斯函数


上面的正态分布是一维的,图像都是二维的,所以我们需要二维的正态分布。



正态分布的密度函数叫做"高斯函数"(Gaussian function)。它的一维形式是:



其中,μ是x的均值,σ是x的方差。因为计算平均值的时候,中心点就是原点,所以μ等于0。


根据一维高斯函数,可以推导得到二维高斯函数:


有了这个函数 ,就可以计算每个点的权重了。


四、权重矩阵


假定中心点的坐标是(0,0),那么距离它最近的8个点的坐标如下:








请到「今天看啥」查看全文