图像双边滤波及时间优化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011630458/article/details/54645058

简介

  本篇主要是对之前实现图像双边滤波及其优化算法的总结记录。

基本原理及原始版本

  1、双边滤波基本原理主要在于其滤波权重同时考虑空间距离和像素值域差距:
                  
       具体原理可以参考资料:http://blog.csdn.net/abcjennifer/article/details/7616663

  原理实现相对比较简单,但是该算法有一个重要缺点:复杂度,算法消耗时间太高。
完全未做优化的该算法跑去噪,在我实验电脑上,跑798X575图像,花费时间:17.27秒。
    结果对比如下:
  

权重表版本

  预先将双边滤波权重表计算出来,遍历整个图像滤波时候的权重计算,变成了简单查表操作。能够大幅度优化算法时间。
同样在相同电脑,用798X575图像实现,花费时间:1.67秒。
    结果图像在质量上应该是一致的:
     

其他优化

  1、模仿高斯模糊加速,将二维图像双边滤波,改变为两次一维的滤波,先对行做滤波,再对列做滤波,可以减少算法时间。
  2、参考论文:Fast Bilateral Filtering for the Display of High-Dynamic-Range Images。
    基本的思想是:将双边滤波的值域权重计算进行分段,取出分段的定点值。进而前面公式中值域的权重计算f(k,l)变成了这些定点值。然后迭代分段次数,段之前像素进行插值,得到结果图像。同时该论文还提到一个加速办法,迭代权重计算时候,
 先进行下采样,做到大幅度的节约时间,但是测试结果来看,当下采样倍数太大时候,结果图像容易出现异常。
    我这边基于论文算法实现,在相同电脑,用798X575图像实现,花费时间:250ms左右。
    算法效果如下:
     

猜你喜欢

转载自blog.csdn.net/u011630458/article/details/54645058