美文网首页计算机视觉专题组
图像处理算法--高斯模糊

图像处理算法--高斯模糊

作者: 少寨主的互联网洞察 | 来源:发表于2018-03-05 09:39 被阅读656次

    感谢@阮一峰
    摘录自原文地址:

    http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

    高斯模糊相信很多学习p图的人并不陌生,它能够让一张图片产生需要的模糊效果.
    提起高斯模糊,我们应该联想到正态分布
    高斯模糊的本质--"数据平滑技术"


    高斯模糊的原理:

    所谓"模糊",可以理解成每一个像素都取周边像素的平均值。

    bg2012111403.png
    上图中,2是中间点,周边点都是1。
    bg2012111404.png
    "中间点"取"周围点"的平均值,就会变成1。在数值上,这是一种"平滑化"。在图形上,就相当于产生"模糊"效果,"中间点"失去细节
    显然,计算平均值时,取值范围越大,"模糊效果"越强烈。
    bg2012111406.jpg
    上面分别是原图、模糊半径3像素、模糊半径10像素的效果。模糊半径越大,图像就越模糊。从数值角度看,就是数值越平滑。
    那么,每个点都要取周边像素的平均值,该如何分配权重是个问题.

    图像都是连续的,越靠近的点关系越密切,越远离的点关系越疏远

    遵循以上原则,加权平均则更加稳妥.

    距离越近的点权重越大,距离越远的点权重越小

    此时,正太分布就起作用了.


    bg2012111407.png

    三维高斯分布就是下面这样的:


    bg2012110708.png
    其函数表达式如下:
    chart.png

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


    计算权重矩阵
    演算图示如下:

    bg2012111410.png
    假定σ=1.5
    bg2012111411.png
    归一化,得到最终的权重矩阵:
    bg2012111412.png

    计算高斯模糊

    假设现有9个像素点,灰度值(0-255)如下:


    bg2012111413.png

    每个点乘以自己的权重值:


    bg2012111414.png
    得到:
    bg2012111416.png

    将这9个值加起来,就是中心点的高斯模糊的值。

    对所有点重复这个过程,就得到了高斯模糊后的图像。如果原图是彩色图片,可以对RGB三个通道分别做高斯模糊。

    边界点怎么处理?

    如果一个点处于边界,周边没有足够的点,怎么办?
    一个变通方法,就是把已有的点拷贝到另一面的对应位置,模拟出完整的矩阵

    相关文章

      网友评论

        本文标题:图像处理算法--高斯模糊

        本文链接:https://www.haomeiwen.com/subject/preqfftx.html