当前位置: 首页 > backend >正文

Guided Filtering相关记录

一、背景介绍

        以前折腾保边滤波时候,刷了一些Guided Filtering相关资料。这里主要是对它们做个算法效果复现和资料简单整理。

二、Guided Filtering

1、基本原理

        原版Guided Filtering的提出,主要是为了改善双边滤波做保边平滑滤波器时候的梯度翻转伪影和性能问题。相关算法原理和公式推导,已经有很多小伙伴讲过了,我这里就不做详细介绍了,感兴趣的小伙伴们可以参考:在实现何凯明导向滤波去雾算法,处理中能够出现图像精度损失问题,有什么解决方案?

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

等相关资料。

2、算法实现

 

3、算法效果

        左边为输入,右边为滤波后结果图像

 

4、复现代码

        网上直接抄过来的复现代码:

https://github.com/yulinghan/ImageQualityEnhancement/blob/master/ltm/guidedfilter/guidedfilter.cpp​github.com/yulinghan/ImageQualityEnhancement/blob/master/ltm/guidedfilter/guidedfilter.cpp

三、Fast Guided Filtering

1、基本原理

        这篇论文主要是对原始Guided Filtering的性能优化,基本思想来说是对输入图,引导图和对应的滤波半径,都进行相同倍数下采样,通过减少处理像素来降低算法计算量。

        然后对生成的mean_a, mean_b再上采样到原图尺寸,进行后续滤波处理。

2、算法实现

 

3、算法效果

        左边为输入,中间为原版滤波结果,右边为fast版本结果:

 

4、复现代码

        也是网上直接抄过来的复现代码:

ImageQualityEnhancement/ltm/guidedfilter/fast_guidedfilter.cpp at master · yulinghan/ImageQualityEnhancement · GitHub

四、Weighted Guided Filter

1、基本原理

        这篇论文的意义在于:对滤波边缘加上权重信息控制,进一步增加增强算法的保边平滑效果。

        具体来说,是对Guided Filter中生成a的公式进行改进,原本的计算公式为:

 

        可以看到不管输入图像上,像素是平坦区域还是纹理区域,画红框的正则平滑项都是一个固定值。本篇论文就是对这个做改进。

        具体改进措施为,将原本的固定值正则项变为根据像素变化而跟随变化的值,简单来说就是像素越属于平坦区域,那么滤波强度越高,越属于纹理,则对应权重降低。

 

 

        ε 是一个很小的常数,值被设定为(0.001xL)的平方。

2、算法实现

        核心部分代码实现如下所示:

 

 

3、算法效果

        左边为输入,中间为原版滤波结果,右边为Weighted Guided Filter版本结果

 

4、复现代码

        一样是网上直接抄过来的复现代码:

ImageQualityEnhancement/ltm/guidedfilter/weight_guidedfilter.cpp at master · yulinghan/ImageQualityEnhancement · GitHub

五、Gradient Domain Guided Image Filtering

1、基本原理

        本篇是在Weighted Guided Filter上面的进一步拓展,

        简单来说,就是进一步将计算a的公式在保边效果上做进一步的改进升级为:

 

        其中:

 

 

        详细介绍的话,可以参考资料:

Gradient Domain Guided Image Filtering(梯度域导向滤波) - ayew - 博客园

2、算法实现

        核心部分算法实现为:

 

3、算法效果

        左边为输入,中间为原版滤波结果,右边为Gradient Domain Guided Image Filtering版本结果:

 

4、复现代码

        简单的代码复现地址:

ImageQualityEnhancement/ltm/guidedfilter/gradient_guidedfilter.cpp at master · yulinghan/ImageQualityEnhancement · GitHub

http://www.xdnf.cn/news/6804.html

相关文章:

  • 牛客网NC22222:超半的数
  • 登高架设作业人员的职业发展方向有哪些?
  • Lazada测评补单系统搭建指南:从环境到账号的要点把控
  • 深入解析Shell脚本编程:从基础到实战的全面指南
  • L52.【LeetCode题解】二分法习题集1
  • BigemapPro小技巧:如何只显示特定区域内的点
  • Linux 内核版本详解
  • 数据中心末端配电监控产品
  • STM32F407VET6实战:CRC校验
  • Python-homework
  • 1Panel应用推荐:Beszel轻量级服务器监控平台
  • UE RPG游戏开发练手 第二十七课 普通攻击2
  • 使用Mathematica制作Lorenz吸引子的轨道追踪视频
  • 海盗王3.0的数据库3合1并库处理方案
  • 【全解析】EN18031标准下的SUM安全更新机制
  • VBA技术资料MF306:删除与正则表达式匹配的文件
  • 10 大医学数据集汇总:覆盖问答/推理/真实临床记录/超声图像/CT 影像……
  • 多网卡管理实战指南:原理、问题分析与实用工具推荐
  • vs2019及以后版本cmd指定编译环境文件的路径
  • Linux》Ubuntu》安装Harbor 私有仓库
  • Manim教程:第12章 函数,函数图像和文字的渲染
  • 高清箱号识别系统:模糊集装箱号的高效识别解决方案
  • ”一维前缀和“算法原理及模板
  • 多线程八股文(自用)
  • SOLIDWORKS Simulation接触定义精讲(一)
  • CVE-2017-8046 漏洞深度分析
  • 【每天一个知识点】意图传播(Intent Propagation)
  • AG 视频下载 免费分享
  • 从零开始学习three.js(19):一文详解three.js中的辅助类Helper
  • 彻底删除Docker容器中的环境变量