引导滤波(guided filter)与快速引导滤波(fast guided filter)理解

news2024/9/28 9:24:44

最近在学习图片的滤波和去噪的相关知识,查阅了一些资料参考了一些博客,这里做一个整合+理解。参考的博客资料在文末。

imageimageimageimage

引入普通滤波的概念

假设输入图像为p,滤波窗口为wk,经过滤波后的输出图像为q,那么q图的第i个像素是由输入图p中以第i个像素为中心的窗口内的所有像素加权平均得到的,即:image

从公式上来看,普通的例如均值滤波与引导滤波区别在于权重的选择上,也就是Wij(I)的不同。

引导滤波

看到的最多的引导滤波的过程图如图所示:image

我们逐步来看这个图,首先引导滤波有两个输入,原始图p和引导图I。经过滤波后有一个输出q,滤波窗口为Wk.整个引导滤波器的表示为公式:image

其中j∈Wk,j仅仅是在某一个窗口内的下标,Wij(I)是仅仅与引导图I相关的加权平均的那个权重。
首先我们看到引导图I,文章有一个重要的假设,就是使输入引导图I与输出图q之间是一个线性关系,表示为:image

其中ak和bk表示常数参数,注意一个窗口Wk只对应一对常熟参数ak和bk。例如以第一个像素为中心的窗口W1的参数为a1,b1。以第二个像素为中心的窗口w2的参数为a2,b2.
也就是总流程图中的这一部分:image

图中还对线性关系两边求导得到image

这就表示引导图的梯度变化与结果图的梯度变化是线性关系的,假设在引导图中我们知道A区是平滑区域,B区是边缘区域,显然B区梯度比A区要大,而且假设B区的梯度是A区的4倍。通过线性变换,我们得到了输出图q中的A区和B区梯度变为引导图的a倍,但是B区的梯度仍然是A区的4倍,同一幅图中的A和B之间的梯度关系没有被扭曲,通俗来讲就是引导图告诉了输出图哪里是平滑区域,哪里是边缘区域。这就是引导图的作用。
我们已知了引导图I,如果能求得系数ab的值,就可以计算出输出了。这时候就需要引入另外一个概念:噪声image

利用最小二乘法就能计算出参数a,b。image

通过上述的最小二乘法可以计算出参数a,b的表达式image

具体详细的公式推导可以参考链接:https://blog.csdn.net/weixin_43194305/article/details/88959183https://blog.csdn.net/HIVAN1/article/details/104722729https://www.jianshu.com/p/36b0c8e22669https://blog.csdn.net/qq_29788741/article/details/128865604
引导滤波与快速引导滤波肉眼没区别:https://blog.csdn.net/kuweicai/article/details/78385871
计算出了参数之后,我们就可以将线性模型应用到整个图像的滤波窗口,但一个像素会被多个窗口包含,如下图,若Wk大小为3x3,则除边缘区域的外的每个点会被包含在9个窗口里,因此对于同一个像素,会得到|w|个输出qi。image

我们最后需要用的参数a,b就是所求的平均的参数a,b。
最后将参数代回线性关系公式中,就可以得到输出,过程如下图所示
**image
**
matlab实现代码在这里
链接:https://github.com/accessify/fast-guided-filter

需要注意的是,boxfilter.m和guidedfilter.m。其中guidedfilter.m需要调用boxfilter.m函数,GuidedFilter_preserveEdge.m是主函数,用来调用guidedfilter函数,本代码用的输入图和引导图是同一张cat.bmp。演示的是保边效果,可以更换引导图和输入图。
————————————————
转自:https://blog.csdn.net/weixin_44917577/article/details/107186673

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/934026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2向Vue3过度核心技术声明式导航

目录 1 声明式导航-导航链接1.需求2.解决方案3.通过router-link自带的两个样式进行高亮4.总结 2 声明式导航-两个类名1.router-link-active2.router-link-exact-active3.在地址栏中输入二级路由查看类名的添加4.总结 3 声明式导航-自定义类名1.问题2.解决方案3.代码演示4.总结 …

OpenSIPS 通话中 UPDATE 请求导致没有声音问题

文章目录 1. 问题现象2. 抓包排查3. 问题分析及解决方案 1. 问题现象 在 SIP 应用的开发中,通话一端听不到声音是比较常见的问题。一般来说,没有声音意味着 RTP 传输存在障碍,追根究底就是网络不通或者端口未开放等原因。但在实践中&#xf…

射频滤波器分析报告(声表面波滤波器/BAW/超声)

目录 一、射频芯片技术与产品概述二、5G时代滤波器需求潜力巨大三、全球滤波器市场现状3.1 基站3.2 手机端 四、射频芯片国内发展情况4.1 国内射频芯片概况4.2 国内射频滤波器发展情况4.3 BAW的重重困难4.4 终端厂商的参与 五 机会分析5.1 5G通信5.2 卫星通信5.3 雷达行业5.4 新…

Cinema 4D软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Cinema 4D(简称C4D)是由德国Maxon Computer公司开发的一款三维动画渲染和建模软件,广泛应用于影视、广告、工业设计等领域。C4D因其高效率、易用性和强大的功能而受到广大设计师和艺术家的青睐…

第四章文件管理

0.初识文件管理 一个文件有哪些属性?文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件。 标识符:一个系统内的各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一…

pandas-03-组合连接数据

采集的数据存储后通常会分为多个文件或数据库,如何将这些文件按需拼接,或按键进行连接十分重要。这节将介绍数据索引的复杂操作如分层索引,stack,unstack,seet_index,reset_index等帮助重构数据,数据的拼接如merge,join,concat,co…

pandas数据分析——groupby得到分组后的数据

groupbyagg分组聚合对数据字段进行合并拼接 Pandas怎样实现groupby聚合后字符串列的合并(四十) groupby得到分组后的数据 pandas—groupby如何得到分组里的数据 date_range补齐缺失日期 在处理时间序列的数据中,有时候会遇到有些日期的数…

python编程环境使用技巧3-程序打包pyinstaller

前言 在Python中,打包指的是将Python代码和相关资源(如配置文件、图像等)整合到一个可执行的文件或安装包中,以便于在其他环境中使用。 下面是使用pyinstaller进行打包的简要步骤: 1-安装pyinstaller:在命…

python之OCR文字识别

将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR 的底层库并不多,目前很多库都是使用共同的几个底层OCR 库,或者是在上面进行定制。 方法一: 使用easyocr模块 …

Redis三种特殊数据类型

Redis三种特殊数据类型 geospatial 地理位置 Redis 地理空间数据类型简介 Redis 地理空间索引允许您存储坐标并搜索它们。 此数据结构可用于查找给定半径或边界框内的邻近点。 基本命令 GEOADD 将位置添加到给定的地理空间索引(请注意,使用此命令&a…

为什么物联网和端点安全需要细化

组织和个人越来越关心:物联网 ( IoT ) 的激增以及这些设备创建的无数端点。预计到 2025 年将有 750 亿个物联网设备投入使用,确保这些设备的安全已经至关重要。 2019 年生产的设备预期寿命只有五年,现在存在大量制造商在生产过程中无法预见的…

ChatGPT在高等教育中的应用利弊探讨

​人工智能在教育领域的应用日益广泛。2022年11月OpenAI开发的聊天机器人ChatGPT在全球范围内流传开来,其中用户数量最多的国家是美国(15.22%)。由于ChatGPT应用广泛,具有类似人类回答问题的能力,它正在成为许多学生和教育工作者的可信赖伙伴…

python编程环境使用技巧-任务1-pip包管理工具

概要 任务1-pip包管理工具 pip是Python的包管理工具,它用于安装、升级和管理Python的第三方库以及它们的依赖关系。 在命令提示符或终端窗口中,可以使用以下常用的pip命令: 安装包:pip install package_name。它会自动下载并安…

开源在大数据和分析中的角色

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

STM32开发 | 移远4G-Cat.1模组EC200N-CN开发

一、硬件说明 1、引脚分配图 文章来源地址https://www.yii666.com/blog/326636.html文章来源地址:https://www.yii666.com/blog/326636.html 2、常用引脚说明 模块输入电源 引脚名描述VBAT_BB模块基带电源(Vnom 3.8 V)VBAT_RF模块射频电源&#xff0…

SQL Server软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 SQL Server是一种关系型数据库管理系统,由美国微软公司开发。它被设计用于存储、管理和查询数据,被广泛应用于企业级应用、数据仓库和电子商务等场景。 以下是SQL Server软件的主要特点和功能&#xff1…

春秋云镜 CVE-2022-0788

春秋云镜 CVE-2022-0788 wordpress插件 WP Fundraising Donation and Crowdfunding Platform < 1.5.0 SQLI 靶标介绍 wordpress插件 WP Fundraising Donation and Crowdfunding Platform < 1.5.0 的其中一个REST路由在SQL语句使用时没有对参数进行过滤&#xff0c;导致…

Visual Assist 10.9.2500 Crack

General Release Build 2023.3 (2491) Requires active software maintenance through general release date: 2023.05.24 NEW Added parser support for “is” operators in C#. UPDATE Code inspection engine updated to LLVM/Clang version 16. Summary: VA 2023.3 is …

学信息系统项目管理师第4版系列02_法律法规

1. 信息安全的法律体系可分为四个层面 1.1. 一般性法律法规&#xff0c;如宪法、国家安全法&#xff0c;国家秘密法 1.2. 规范和惩罚信息网络犯罪的法律&#xff0c;如刑法、《全国人大常委会关于维护互联网安全的决定》等 1.3. 直接针对信息安全的特别规定&#xff0c;如《…

兵力集中更容易进攻获胜

我兵力集中&#xff0c;敌兵力分散&#xff0c;进攻可胜 【安志强趣讲《孙子兵法》第21讲】 【原文】 进而不可御者&#xff0c;冲其虚也&#xff1b;退而不可追者&#xff0c;速而不可及也。 【趣讲白话】 进攻时&#xff0c;敌人无法抵御&#xff0c;那是攻击了敌人空虚的地方…