导向滤波(guided Image Filtering)
最近两天看了何凯明大神的导向滤波器(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=aiIi+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ˉiIi+bˉi(5)
分别对参数aia_iai和bib_ibi进行了一次均值滤波处理。这里我没太想明白。可能是作者嫌处理后的图像不够平滑,又做了一次平滑处理吧。近似相当于对式(1)得到的结果进行了一次均值滤波处理,但是作者可能又觉得对式(1)得到的结果进行均值滤波处理边缘信息丢失的比较严重,所以作者只对参数aia_iai和bib_ibi分别进行均值滤波处理。这样得到的图片会更加光滑一些,且边缘信息丢失的也不严重吧。
导向滤波(guided Image Filtering)相关推荐
- 三种经典图像滤波方法介绍——双边滤波(Bilateral filter)、导向滤波(Guided Fliter)、滚动导向滤波(RollingGuidedFilter)
文章目录 一.前言 二.双边滤波(Bilateral filter) 2.1 双边滤波的理论介绍及公式推导 2.2 双边滤波的matlab程序实现 三.导向滤波(Guided Fliter) 3.1 ...
- 详解——导向滤波(Guided Filter)和快速导向滤波
文章目录 导读 原理推导 导向滤波的应用 导向滤波的实现 快速导向滤波的实现 算法效果 代码 参考 导读 在图像滤波算法中,导向滤波.双边滤波.最小二乘滤波并称三大保边滤波器,他们是各向异性滤波器.相 ...
- 导向滤波python_导向滤波(Guided Filter)简要介绍
1.介绍 提到导向滤波,首先想到的是"何恺明",他的确是真大神,在图像领域,是中国人的骄傲,深度学习流行的时候,也是提出各种新算法,比如ResNets,而最近两年,深度学习的发展已 ...
- 引导滤波(guided image filtering)原理及C++实现
引导滤波 引导滤波是由何凯明等人与2010年提出,它本质上具有O(N)复杂度,相对于双边滤波有更好的边缘保持特性,且不会出现梯度反转现象.在不同引导图像的引导下,可广泛应用于降噪.去雾.高动态范围压缩 ...
- 快速导向滤波 matlab,导向滤波小结:从导向滤波(guided filter)到快速导向滤波(fast guide filter)的原理,应用及opencv实现代码...
http://blog.csdn.net/kuweicai/article/details/78385871 1. 导向滤波简介 导向滤波是何凯明在学生时代提出的一个保边滤波(edge-preserv ...
- 导向滤波小结:从导向滤波(guided filter)到快速导向滤波(fast guide filter)的原理,应用及opencv实现代码
1. 导向滤波简介 导向滤波是何凯明在学生时代提出的一个保边滤波(edge-preserving smoothing)算法.何凯明在cv圈应该算是名人了,学生时代关于图像去雾的研究就以第一作者的身份获 ...
- Opencv-Python-导向滤波快速导向滤波
版本:Python:2.7.15 OpenCV:2.4.13 导向滤波算法原理 原理可以看博主:白马负金羁 的文章导向滤波(Guided Filter)的解析与实现,对原理解释十分通俗易懂. 导向滤 ...
- 导向滤波快速导向滤波及引导图的选择
引导图的选择 我主要说的导向滤波其中的引导图选择问题. 百度百科的定义 : 导向图滤波是一种图像滤波技术 ,通过一张引导图G(导向图),对目标图像P(输入图像)进行滤波处理,使得最后的输出图像大体上与 ...
- [PAMI2013] Guided Image Filtering 导向滤波器以及OpenCV-Python代码实现
论文地址:https://www.researchgate.net/profile/Xiaoou_Tang/publication/236228168_Guided_Image_Filtering/l ...
最新文章
- Lua学习笔记6:C++和Lua的相互调用
- linux从指定网卡scp文件出去,Linux下nc或scp命令来实现文件传输
- echarts图表实例
- oracle用户新增数据文件,[数据库]20200722_Oracle添加表空间、用户,用户授权
- 关于EXCEL相关类的一些函数解释
- python一般的类有三部分组成_Python学习笔记总结(三)类
- C# 实体类序列化与反序列化一 (XmlSerializer)
- 东方甄选推独立App自立门户;西湖大学『强化学习数学基础』教材书稿;经典书籍『深入浅出设计模式』Python版代码;前沿论文 | ShowMeAI资讯日报
- STM32 STlink安装以及安装失败解决方法
- 电脑如何通过USB连接PPC手机上网
- 盘点!物流移动机器人的几种定位技术
- vue项目中对于Scroll事件的节流优化
- VC:CString.Format()函数详解
- java怎么实现华为云文字识别,OCR文字识别服务快速入门教程
- 关于LDO和DC-DC,看这一篇就够了!
- 第14章传智书城前台程序设计
- 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用
- 轻松获取图片和视频文件的Exif信息-Java篇
- 三元相分级统计地图-绘制-USDA soil textural triangle
- 电脑监控是真的吗?4个实验一探究竟
热门文章
- 小凡实验室卧龙老师CCIE学习方法:CCIE涅槃五剑
- 前端三剑客之HTML
- python打造记账本,记账本-简单的python脚本
- 玻色量子创始人COO马寅出席首届量子计算产业峰会,算力升级迫切呼唤量子计算
- 一元二次函数c语言,计算一元二次函数的根,大家看看那里有错了。。。。
- 折叠屏手机阵亡,三星的手机梦会不会被彻底折叠?
- Altium Designer如何实现圆弧布线
- Windows 10 安装 Anaconda3 GPU版Tensorflow Cuda9 cudnn7
- 全球首个支持华为鸿蒙 HarmonyOS 的游戏引擎来了:Cocos Creator 3.2 月底发布
- 美图php面试题目,据说是雅虎的一份PHP面试题附答案