优化加速的导向滤波(Guided Filter)【CUDA】【OpenCV】

举报
ShaderJoy 发表于 2021/12/30 00:39:34 2021/12/30
【摘要】 原理可以参看:白马负金羁的《导向滤波(Guided Filter)的解析与实现》 ,写得很清晰透彻 我实现的效果如下 原图(894*1080,由于笔记本屏幕不够大,截图有截断) 单通道的导向滤波 1.CPU 版的 Guided Filter  和 Fast Guided Filter (缩放倍数为 2,何凯明大...

原理可以参看:白马负金羁的《导向滤波(Guided Filter)的解析与实现》 ,写得很清晰透彻

我实现的效果如下

原图(894*1080,由于笔记本屏幕不够大,截图有截断)

单通道的导向滤波

1.CPU 版的 Guided Filter  和 Fast Guided Filter (缩放倍数为 2,何凯明大神加了一个 resize 就成了新算法,大神就是大神!) 的耗时(循环 100 次取平均):

 

 2.基于 OpenCV CUDA 编译库实现的 Guided Filter (实现了多流覆盖)的耗时

 可见 OpenCV 实现的 CUDA 函数其实性能也是有很大优化空间的。由于 GPU 开辟设备内存相当耗时,一般 GPU 内存是重用的(比如视频流),上图的时间是 Guided Filter 循环 100 次计算的平均值。 

3. CUDA 加速的 Guided Filter 耗时:

 同上,所以内存开辟的时间只记录一次,Guided Filter 是循环 100 次计算的平均值。可见设备内存开辟的时间还是很多的,所以如果只处理少量图片,GPU 并不占优势,适合采用 CPU 版的 Fast Guided Filter 。

如果引导图像和原图是同一张图的话,还可以尽一步减少计算时间,避免重复计算。

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/88568440

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。