导向滤波原理(Guided Filter)的一些剖析和实践

图像去雾、HDR压缩全靠它?深入浅出图解导向滤波(Guided Filter)算法原理与OpenCV实战 本文深入解析导向滤波(Guided Filter)算法原理及其在图像去雾和HDR压缩中的应用。通过对比传统双边滤波,导向滤波以O(N)时间复杂度实现优秀边缘保持效果,避免梯度反转伪影。文章提供详细的OpenCV实战代码,包括参数调优指南和高级应用案例,帮助开发者快速掌握这一图像处理关键技术。 阅读详情

基本理念

在这里插入图片描述
基本思想是:用一张引导图,去指导滤波操作。这张就叫做i(x);
在这里插入图片描述
这个损失函数中,减号前面是:预测输出图像ax+b。减号后面是输入图像g(x)。这里下标x是表示在原图像中的索引,x'表示是邻域的坐标,w表示邻域。

在这里插入图片描述
这里对损失函数进行求导,这是在找极小值点,所以令导数等于0,得到最终的形式如上;这二个式子中:黑色标注表示邻域之和,也就是邻域的一阶范数。

在这里插入图片描述
这里先对b求解,最终,b等于原图上的邻域均值,减去a乘以引导图中的邻域均值。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里求解a,最终,a等于原图和引导图的邻域相关系数除以引导图的邻域方差。当然如果引导图就是原图的话,那就是引导图的方差除以引导图的方差。

  • 如果方差较小,即是一个平滑区域的话,那么方差较小约等于0,则ak约等于方差除以epsilon,因此 ak 约等于 0 。那么bk约等于1,那么qi =mean(p),这样相当于说这个pixel在该窗口内的输出值相当于在这个窗口进行了均值平滑,而考虑到pixel属于多个窗口,如果这是一个平滑区域,那么就相当与多个均值平滑滤波器的级联。
  • 如果方差大,即是边缘的话,ak 就约等于 1(epsilon很小),因此,b就约等于0。相当于输出等于输入只是乘以一个约等于1的系数,这样可以保证梯度的比例关系不变。

在这里插入图片描述

算法实现

在这里插入图片描述
在这里插入图片描述
在算法实现上,可以用前缀和,加速运算速度。

运行结果:
在这里插入图片描述
在这里插入图片描述

参考:

  1. 知乎:导向滤波原理(Guided Filter)
  2. 优快云博客:双边滤波与引导滤波
  3. youtube课件来源Interventional Medical Image Processing (IMIP 2016) - Lecture 6
  4. 详细公式推导
  5. opencv实现base on cpp
C++与OpenCV实战:从原理到实现桌面级实时美颜算法 图像处理是计算机视觉的基础,其核心在于通过算法对像素进行操作以实现特定视觉效果。保边滤波和局部形变是其中两项关键技术,前者能在平滑图像的同时保护边缘细节,后者则通过控制点映射实现自然的几何扭曲。这些技术在工程实践中价值显著,尤其在实时视频处理领域,对算法的效率与效果平衡提出了高要求。应用场景广泛,从移动端美颜App到专业影视后期均可见其身影。本文聚焦于使用C++和OpenCV库,深入探讨如何实现**实时美颜**中的**磨皮(保边滤波)**与**瘦脸大眼(局部形变)** 等核心功能,为开发者提供从环境搭建到算 阅读详情

相关推荐

OpenCV三剑客:抠图、光流与物体追踪实战指南

计算机视觉中的图像处理与视频分析技术正在快速发展,其中抠图、光流估计和物体追踪是三大基础核心技术。抠图技术通过分离前景与背景,广泛应用于影视后期和电商展示;光流估计则分析视频序列中的像素运动,为动作识别和自动驾驶提供关键数据;物体追踪技术则在安防监控和智能交通系统中发挥重要作用。OpenCV作为开源计算机视觉库的标杆,提供了这些技术的完整实现方案。本文将深入探讨这些技术的原理、实现细节及优化技巧,帮助开发者掌握OpenCV在图像处理与视频分析中的实际应用。

weixin_33720956的博客 415

导向滤波原理(Guided Filter)

导向滤波原理(Guided Filter)

VisualCortex 1万+

导向滤波(Guided Filter)的解析与实现

导引滤波(Guided Filter)是由Dr. Kaiming He等人提出的一种滤波算法(现在MATLAB的图像处理工具箱中已经内置了实现该算法的函数)。导引滤波不仅可以实现edge-preserving的图像平滑效果,亦可广泛应用于图像去雾、图像抠图,以及图像增强(主要是高动态光照渲染方面的应用)等领域。导向滤波的核心是求解一个最小二乘问题,本文将讨论其背后的数学原理并解析其MATLAB实现代码

白马负金羁 8万+

传统图像去噪方法(二)之引导滤波

(一)引导滤波(guided filter) 引导滤波(导向滤波)是一种图像滤波技术,通过一张引导图,对初始图象(输入图像)进行滤波处理,使得最后的输出图像大体上与初始图象相似,但是,纹理部分与引导图相似。其典型应用有两个:保边图像平滑,抠图。 引导滤波不仅能实现双边滤波的边缘平滑,而且在检测到边缘附件有很好的表现。可应用在图像增强,HDR压缩,图像抠图以及图像去霾等场景。 算法原理: 滤波器的数...

qq_39594939的博客 1万+

图像平滑技术实战:导向滤波与快速导向滤波对比详解

图像平滑是数字图像处理中的基础操作,旨在抑制噪声的同时尽可能保留关键结构信息。传统线性滤波如均值滤波和高斯滤波通过加权平均实现平滑,但其全局均匀权重特性易导致边缘模糊。非线性滤波技术突破这一局限,其中双边滤波引入空间与灰度距离的乘积权重,在一定程度上保持边缘。然而其梯度反向传播特性可能导致“梯度反转”伪影。相较之下,导向滤波基于局部线性假设,利用引导图指导滤波过程,不仅避免了梯度反转,还具备良好的边缘保持能力和计算稳定性,为高质量图像平滑提供了更优选择。

weixin_31569663的博客 926

导向滤波原理以及解释

基于导向滤波的work论文,写的非常详细,希望能够帮助到广大科研人员

【滤波·1】导向滤波

不太理解目标函数的意义,等后续有新的理解来补充。

mjiansun的专栏 2553

endnote让参考文献整整齐齐

这篇文章主要是针对利用 endnote 插入参考文献时,参考文献第一行和后面的行对不齐的问题 下面是示意图 可以看到我们的参考文献对的整整齐齐的,比较好看。 下面介绍具体步骤 1、打开endnote。编辑我们使用的参考文献样式。我这儿是叫 ZZ_MODIFIED_GEEBINF 复制 2、找到布局,每个参考开头,将光标放在在参考开头后面,点插入字段,制表符 3、右下角悬挂式输出哪儿选择全部段...

雾隐雾现的至渝博客 5万+

从Photoshop‘表面模糊’到算法原理:一文读懂导向滤波(Guided Filter)为何是保边滤波的‘瑞士军刀’

本文深入解析导向滤波(Guided Filter)作为保边滤波‘瑞士军刀’的算法原理与应用优势。从Photoshop‘表面模糊’的直观效果切入,详细讲解导向滤波如何通过局部线性模型和积分图像技术实现高效保边处理,并对比其与高斯模糊、双边滤波等的性能差异。文章还探讨了导向滤波在图像去雾、HDR色调映射等进阶场景中的创新应用。

weixin_30294295的博客 338

Python爬虫实战:5分钟搞定Web of Science文献批量导出与解析(附完整代码)

本文提供了一套利用Python爬虫技术,快速实现Web of Science文献批量提取与解析的完整方案。通过解析官方导出的HTML文件,结合BeautifulSoup和pandas库,可将文献数据自动转换为结构化的Excel/CSV表格,帮助科研人员高效管理文献信息,节省大量手动整理时间。

weixin_29050513的博客 1162

YOLOv10改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤

本文记录的是。采用深度可分离卷积将标准卷积分解为深度卷积和1×1卷积。同时,引入来,避免非线性层导致的性能下降问题。本文将应用到YOLOv10中,借助其高效的结构和特性,在保持一定精度的前提下,显著降低YOLOv10的计算复杂度和内存占用。

Limiiiing的博客 532

【HALCON 实战入门】9. 图像平滑与边缘增强

本文介绍了HALCON中的图像平滑与边缘增强方法,重点讲解了均值滤波、高斯滤波和中值滤波三种常用平滑技术。均值滤波通过邻域平均实现简单去噪;高斯滤波采用加权平均在去噪同时更好保留边缘;中值滤波则通过取邻域中值有效抑制脉冲噪声。这些方法可改善图像质量,为后续处理提供更清晰的输入。文章还提供了各滤波算子的参数说明和示例代码,帮助读者快速掌握HALCON图像预处理的核心技术。

youcans的博客 714

SAP_PP模块跑完 MRP,MD04 里却看不到“计划订单”?排查这 3 个最容易被忽略的主数据参数

MRP 是 SAP 逻辑最严密的模块之一,它绝不会随机罢工。当 MD04 里看不到计划订单时,请不要怀疑系统的计算能力。99% 的情况,都是因为我们给系统下达了矛盾的指令:一边告诉它“我有需求”,一边却通过主数据告诉它“不要计划”、“不要触发”或者“我是冻结的”。掌握这 3 个排查点,你就能在 5 分钟内解决大部分“MRP 失灵”的悬案,成为用户眼中的“系统神医”。

我小时候很黑的博客 588

开箱即用的艺术神器:「AI 印象派艺术工坊」零配置体验分享

本文介绍了基于“星图GPU”平台自动化部署🎨 AI 印象派艺术工坊镜像的实践方案。该镜像利用OpenCV算法实现素描、彩铅、油画、水彩等风格迁移,无需深度学习模型即可完成图像艺术化处理,适用于AI艺术创作、教学演示及轻量级图像处理应用开发场景。

weixin_26850469的博客 600

Spine骨骼动画查看器 - Skeleton Viewer

骨骼动画是现代游戏和动画制作中常用的技术之一。Spine骨骼动画查看器(Skeleton Viewer)是一个官方提供的工具,用于查看和调试Spine骨骼动画。本文将介绍Skeleton Viewer的功能和使用方法,并提供相应的源代码示例。通过Skeleton Viewer,开发者可以直观地查看和调试Spine骨骼动画,包括骨骼结构、动画播放和事件触发等。这有助于提高骨骼动画的质量和效果,并加速开发过程。以上代码演示了如何使用Skeleton Viewer查看和播放Spine骨骼动画。

HsvvDatabase的博客 3457

基于毫米波生物感知雷达+STM32设计的独居老人居家监护系统(微信小程序)(192)

当前基于STM32设计的独居老人居家监护系统为独居老人提供一种简便、实时的健康监护服务。该系统通过集成多种传感器和功能模块,能够实时监测老人的生理指标、姿态以及室内环境状况,并通过微信小程序远程显示数据,当出现异常情况时及时发出报警提醒。

1万+

ToF相机全链路解析:从光机电硬件到V4L2驱动与点云落地

ToF(飞行时间)是一种基于光脉冲往返时间测量距离的核心三维感知技术,其原理依赖调制光信号发射、单光子级接收(SPAD)、高精度时间数字转换(TDC)及相位差反解。不同于RGB成像,ToF系统本质是光-电-机-算深度协同的物理测量系统,对硬件时序、V4L2驱动规范性、深度图校准与嵌入式实时处理提出严苛要求。技术价值体现在亚毫米级测距精度、抗光照干扰能力与低延迟响应,广泛应用于工业检测、AGV避障、机器人导航及手机3D人脸识别等场景。本文聚焦ToF在嵌入式Linux平台的工程化落地,深入剖析VCSEL驱动设计

weixin_34006468的博客 243

Android14 Qcom 从Framework到Driver带你连接WIFI(一)

前面已经讲完了WIFI打开的流程,那么通过UI这时候是可以选择需要连接的网络进行连接。从这里开始我们看连接的流程。

IAYLBL的博客 695

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

1. 导向滤波简介 导向滤波是何凯明在学生时代提出的一个保边滤波(edge-preserving smoothing)算法。何凯明在cv圈应该算是名人了,学生时代关于图像去雾的研究就以第一作者的身份获得Best Paper Award(CVPR 2009),而且今年刚刚又斩获Marr Prize(ICCV 2017)。更多关于何凯明的最新研究动态可以点击以下链接何凯明。 导向滤波顾名思义,就是

生命在于折腾! 4万+

【好物推荐】MQTTX 快速入门使用指南

摘要:MQTTX是一款跨平台MQTT客户端工具,支持MQTT 5.0/3.1.1协议,提供桌面版、网页版和CLI版本。本文介绍了快速入门指南,包括下载安装、核心概念解释、连接公共MQTT服务器(broker.emqx.io)的步骤,以及订阅主题、发布和接收消息的操作流程。文章还提供了常见问题排查方法,帮助用户快速完成MQTT开发调试的基本操作。

奶爸的编程之路,也就一周冷个三天 857

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

理解导向滤波原理

一、性质 引导滤波的特性是: 当引导图比较陡峭时,输出图像应随着引导图变化而变化,当引导图较为缓和时,输出图像应接近输入图像。 二、原理 引导滤波的思想是: 认为输出图像与引导图像在 小范围 内是 线性关系 ,将起伏不定的连续像素看成一段段的小线性函数,每一小段的公式如下: qi=akIi+bkq_{i}=a_{k}I_{i}+b_{k}qi​=ak​Ii​+bk​ 其中i是像素坐标,I为引导图像素值,q为线性函数拟合的输出图像,ak、bk是线性函数的两个参数,我们将这个线性函数的适用范围记为k。 也就是说

sinat_29018995的博客 1872

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

导向滤波-Guided Image Filtering

1. 简介 之前已经介绍过了双边滤波核联合双边滤波,其中双边滤波是一种非线性的保边滤波器,而联合双边滤波相当于将值域高斯核的来源从原始影像替换成另外一副引导图。本文介绍的导向滤波,其与联合双边滤波类似,也需要除原始影像之外另外一副引导图,是一种保边滤波器,当然其也可以用作图像去雾、HDR压缩等。 2. 算法原理 2.1 导向滤波框架 在算法框架中,要对p进行滤波而得到q,还得需要一个引导图像I。此时,滤波器的数学公式为: 注意,这里的Wij(I)就表示由引导图像I来确定加权平均运算中所采用的权值,并且权值

Nick Blog 3693

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

导向滤波原理浅析

前言 在图像处理上,导向滤波器(Guided Image Filter)是一种能使图像平滑化的非线性滤波器。与双边滤波器(Bilateral Filter)相同,这个滤波器同样能够在清楚保持图像边界的情况下,达到让图像平滑的效果。 但不同于双边滤波器,导向滤波器有两个优点: 首先,双边滤波器有非常大的计算复杂度(O(N^2)),但导向滤波器因为并未用到过于复杂的数学计算,有线性的计算复杂度。 双边滤波器因为数学模型的缘故,在某些时候会发生梯度反转(gradient reverse)的状况,出现图像有损;

TracelessLe的专栏 5002

双边滤波与引导滤波

简单说明了双边滤波和引导滤波的原理,并比较了他们的异同点。

aipiano 2万+

数字图像处理篇---导向滤波

导向滤波是一种基于局部线性模型的边缘保持滤波算法,由何凯明等人于2010年提出。它利用引导图像指导滤波过程,通过最小化代价函数确定线性系数,实现平滑噪声的同时保留边缘结构。该算法具有线性时间复杂度、无梯度反转等优势,主要应用于图像平滑、细节增强、HDR压缩等领域。相比双边滤波,导向滤波计算效率更高且参数调优更简单。其核心步骤包括均值滤波、协方差计算和线性系数求解,可通过Python快速实现。

在你不想做的时候,正是应该做的时候。 368

引导滤波原理

原理 导向滤波的大前提: 如图所示,算法认为目标图像 Q上相邻的点是线性相关的,之所以待处理图 P不清晰是因为,不相关的部分(噪声), 引导图I是另一个输入,它与P有相同的梯度,当滤波时可以设置I=P.用线性相关的核W去更新像素点,就会使得P更接近Q.那么能使得P最接近Q的核就是我们求解的目标 换句话说就是:求P-Q最小值时,核W是多少? 用公式来表示就是: 其中: i 是坐标点 pi是待处理图像,i位置的像素点 qi是目标图像, i位置的像素点 wk是核 由大前提可以.

magic_shuang的博客 4220
上一篇: ROI Align的实现原理
下一篇: Anaconda瘦身_清理相关存储
dlvector
博客等级 码龄10年 85粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值