最近两天看了何凯明大神的导向滤波器(Guided Image Filtering),刚刚才顿悟整篇文章的核心。本文只针对于I=pI=pI=p的情况,即对图像III进行滤波处理。个人认为导向滤波器其实就是对均值滤波器的改进。由于均值滤波器会使图像模糊,尤其是对图像的边缘影响较大。然而,对图像进行处理时,图像的主要信息都隐藏在边缘处。所以为了保护图像的边缘信息,又能具有良好的滤波效果,是不是有一种滤波器在图像平滑的地方进行均值滤波,而在图像边缘的地方不进行滤波,或者进行轻微的滤波,那么图像的边缘信息不就保留下来了么,而且平滑的地方还有很好的均值滤波效果。
        那么问题来了,如何才能知道到底是不是图像的边缘呢?这里何凯明大神选取的指标是方差。方差是表示被统计信息变化特征的量。方差越大,表示图片在这里变化越大,也就表示此处是图像里某一物体的边缘,此处的信息需要进行保护。方差越小,表示图片在这里变化较小,该处所含信息量较少,可以进行滤波平滑处理。
        边缘参数找到了,如何将边缘参数的信息反映到对图像的滤波处理上呢?何凯明大神此处选取的是对图片每一像素值的线性处理,方程为:
qi=aiIi+bi(1)\begin{aligned} q_i=a_iI_i+b_i && (1) \end{aligned} qi​=ai​Ii​+bi​​​(1)​
        这里qiq_iqi​是处理后的像素值,IiI_iIi​是待处理的像素值。 aia_iai​和bib_ibi​是对像素值 进行线性处理的参数。且
ai=σi2σi2+ϵ(2)\begin{aligned} a_i=\frac{\sigma_i^2}{\sigma_i^2+\epsilon} && (2) \end{aligned} ai​=σi2​+ϵσi2​​​​(2)​
bi=μi−aiμi(3)\begin{aligned} b_i=\mu_i-a_i\mu_i && (3) \end{aligned} bi​=μi​−ai​μi​​​(3)​
        将(3)代入(1)得
qi=ai(Ii−μi)+μi(4)\begin{aligned} q_i=a_i(I_i-\mu_i)+\mu_i && (4) \end{aligned} qi​=ai​(Ii​−μi​)+μi​​​(4)​

这里μi\mu_iμi​为该点及附近点的均值(即:该点经过均值滤波器处理后的值), σi2\sigma_i^2σi2​为该点及附近点的方差。 ϵ\epsilonϵ为一设置参数,用来表示图片此处平坦还是边缘的方差阈值。由式(2)可知,aia_iai​的范围为(0,1)。当σ≪ϵ\sigma \ll \epsilonσ≪ϵ时,表示图片此处平坦,则ai≈0a_i \approx 0ai​≈0,qi≈μiq_i \approx \mu_iqi​≈μi​ 。此处的滤波效果为经过均值滤波器的效果。当σi≫ϵ\sigma_i \gg \epsilonσi​≫ϵ时,表示图片此处变化较为剧烈,为边缘,则ai≈1a_i \approx 1ai​≈1, qi≈Iiq_i \approx I_iqi​≈Ii​结果为图片未经过任何处理。
细读论文会发现,滤波的最终公式为:
qi=aˉiIi+bˉi(5)\begin{aligned} q_i = \bar a_iI_i+\bar b_i && (5) \end{aligned} qi​=aˉi​Ii​+bˉi​​​(5)​
        分别对参数aia_iai​和bib_ibi​进行了一次均值滤波处理。这里我没太想明白。可能是作者嫌处理后的图像不够平滑,又做了一次平滑处理吧。近似相当于对式(1)得到的结果进行了一次均值滤波处理,但是作者可能又觉得对式(1)得到的结果进行均值滤波处理边缘信息丢失的比较严重,所以作者只对参数aia_iai​和bib_ibi​分别进行均值滤波处理。这样得到的图片会更加光滑一些,且边缘信息丢失的也不严重吧。

导向滤波(guided Image Filtering)相关推荐

  1. 三种经典图像滤波方法介绍——双边滤波(Bilateral filter)、导向滤波(Guided Fliter)、滚动导向滤波(RollingGuidedFilter)

    文章目录 一.前言 二.双边滤波(Bilateral filter) 2.1 双边滤波的理论介绍及公式推导 2.2 双边滤波的matlab程序实现 三.导向滤波(Guided Fliter) 3.1 ...

  2. 详解——导向滤波(Guided Filter)和快速导向滤波

    文章目录 导读 原理推导 导向滤波的应用 导向滤波的实现 快速导向滤波的实现 算法效果 代码 参考 导读 在图像滤波算法中,导向滤波.双边滤波.最小二乘滤波并称三大保边滤波器,他们是各向异性滤波器.相 ...

  3. 导向滤波python_导向滤波(Guided Filter)简要介绍

    1.介绍 提到导向滤波,首先想到的是"何恺明",他的确是真大神,在图像领域,是中国人的骄傲,深度学习流行的时候,也是提出各种新算法,比如ResNets,而最近两年,深度学习的发展已 ...

  4. 引导滤波(guided image filtering)原理及C++实现

    引导滤波 引导滤波是由何凯明等人与2010年提出,它本质上具有O(N)复杂度,相对于双边滤波有更好的边缘保持特性,且不会出现梯度反转现象.在不同引导图像的引导下,可广泛应用于降噪.去雾.高动态范围压缩 ...

  5. 快速导向滤波 matlab,导向滤波小结:从导向滤波(guided filter)到快速导向滤波(fast guide filter)的原理,应用及opencv实现代码...

    http://blog.csdn.net/kuweicai/article/details/78385871 1. 导向滤波简介 导向滤波是何凯明在学生时代提出的一个保边滤波(edge-preserv ...

  6. 导向滤波小结:从导向滤波(guided filter)到快速导向滤波(fast guide filter)的原理,应用及opencv实现代码

    1. 导向滤波简介 导向滤波是何凯明在学生时代提出的一个保边滤波(edge-preserving smoothing)算法.何凯明在cv圈应该算是名人了,学生时代关于图像去雾的研究就以第一作者的身份获 ...

  7. Opencv-Python-导向滤波快速导向滤波

    版本:Python:2.7.15  OpenCV:2.4.13 导向滤波算法原理 原理可以看博主:白马负金羁 的文章导向滤波(Guided Filter)的解析与实现,对原理解释十分通俗易懂. 导向滤 ...

  8. 导向滤波快速导向滤波及引导图的选择

    引导图的选择 我主要说的导向滤波其中的引导图选择问题. 百度百科的定义 : 导向图滤波是一种图像滤波技术 ,通过一张引导图G(导向图),对目标图像P(输入图像)进行滤波处理,使得最后的输出图像大体上与 ...

  9. [PAMI2013] Guided Image Filtering 导向滤波器以及OpenCV-Python代码实现

    论文地址:https://www.researchgate.net/profile/Xiaoou_Tang/publication/236228168_Guided_Image_Filtering/l ...

最新文章

  1. Lua学习笔记6:C++和Lua的相互调用
  2. linux从指定网卡scp文件出去,Linux下nc或scp命令来实现文件传输
  3. echarts图表实例
  4. oracle用户新增数据文件,[数据库]20200722_Oracle添加表空间、用户,用户授权
  5. 关于EXCEL相关类的一些函数解释
  6. python一般的类有三部分组成_Python学习笔记总结(三)类
  7. C# 实体类序列化与反序列化一 (XmlSerializer)
  8. 东方甄选推独立App自立门户;西湖大学『强化学习数学基础』教材书稿;经典书籍『深入浅出设计模式』Python版代码;前沿论文 | ShowMeAI资讯日报
  9. STM32 STlink安装以及安装失败解决方法
  10. 电脑如何通过USB连接PPC手机上网
  11. 盘点!物流移动机器人的几种定位技术
  12. vue项目中对于Scroll事件的节流优化
  13. VC:CString.Format()函数详解
  14. java怎么实现华为云文字识别,OCR文字识别服务快速入门教程
  15. 关于LDO和DC-DC,看这一篇就够了!
  16. 第14章传智书城前台程序设计
  17. 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用
  18. 轻松获取图片和视频文件的Exif信息-Java篇
  19. 三元相分级统计地图-绘制-USDA soil textural triangle
  20. 电脑监控是真的吗?4个实验一探究竟

热门文章

  1. 小凡实验室卧龙老师CCIE学习方法:CCIE涅槃五剑
  2. 前端三剑客之HTML
  3. python打造记账本,记账本-简单的python脚本
  4. 玻色量子创始人COO马寅出席首届量子计算产业峰会,算力升级迫切呼唤量子计算
  5. 一元二次函数c语言,计算一元二次函数的根,大家看看那里有错了。。。。
  6. 折叠屏手机阵亡,三星的手机梦会不会被彻底折叠?
  7. Altium Designer如何实现圆弧布线
  8. Windows 10 安装 Anaconda3 GPU版Tensorflow Cuda9 cudnn7
  9. 全球首个支持华为鸿蒙 HarmonyOS 的游戏引擎来了:Cocos Creator 3.2 月底发布
  10. 美图php面试题目,据说是雅虎的一份PHP面试题附答案