Opencv学习(二)-七种保边滤波器算法

整理:

        之前在博客里对 中值滤波、均值滤波、高斯滤波、双边滤波等进行了整理,其中双边滤波器为保边滤波器。保边滤波器是指在滤波过程中能够有效的保留图像中的边缘信息的一类特殊滤波器,讲这方面的博客也不少,但比较杂和乱,所以整理一下。

         整理了包含五种较为常用的保边滤波算法和选择性模糊、表面模糊这两种有不错效果的算法,总共整理了七种算法,提供了算法原理及代码链接。

编写参考

       opencv学习(7)图像的各种滤波函数的介绍 - 移动开发其他类 - 红黑联盟  https://www.2cto.com/kf/201608/533800.html

https://www.2cto.com/kf/201608/533800.html

    一些保边滤波器搜集(中值滤波、双边滤波、导向滤波等) - CSDN博客  https://blog.csdn.net/wds555/article/details/51546321

 

七种保边滤波器

1. 双边滤波(Bilateral filter)

        双边滤波是一种非迭代的边缘保持平滑的滤波方法。opencv里有自带函数直接实现,前面说过了,也有代码不提了。里面也提到了还有一种改进的快速双边滤波方法。

        这个链接里有相关的介绍 https://blog.csdn.net/eejieyang/article/details/52333112?locationNum=5&fps=1

2. 导向滤波(GuidedFilter)

    opencv实现导向滤波(GuidedFilter) - CSDN博客  https://blog.csdn.net/wds555/article/details/23176313

   导向滤波小结:从导向滤波(guided filter)到快速导向滤波(fast guide filter)的原理,应用及opencv实现代码 - CSDN博客  https://blog.csdn.net/kuweicai/article/details/78385871   地址链接:https://blog.csdn.net/kuweicai/article/details/78385871

3.双指数边缘平滑滤波器(BiExponentialEPF)

   这个算法在人脸磨皮还有一些边缘保留方面效果比双边要更好一些

   参考:双指数边缘平滑滤波器用于磨皮算法的尝试。http://www.cnblogs.com/Imageshop/p/3293300.html

   这是CSDN里就有资源下载链接https://download.csdn.net/download/zhoupeng39/8215647#comment

4. 加权最小二乘法滤波器(WLS)

    WLS的原理和代码均可参考在 https://blog.csdn.net/bluecol/article/details/48576253。

   提出这个算法的作者提供的是MATLAB代码,暂时没有看到C++去实现的,后续有发现或是自己写了的话再添上来。

5. 非均值局部滤波器(NLM)

     非局部均值滤波在计算中加入了每一个点的权重值,所以能够保证在相邻且相差很大的点在方框中求平均值时相互之间的影响减小,也就对图像边缘细节部分保留很多,这样图像看起来会更清晰。

    原理及MATLAB代码:非局部均值滤波算法https://blog.csdn.net/frankgoogle/article/details/52209901

6.选择性模糊

   这个方法暂时看到的资料都出之同一个版本,在这个博客里详细写了,有源码地址。(不确定哪个是原作者,好多地方的都是一样,但是看效果还不错)

  选择性模糊及其算法的实现。http://www.cnblogs.com/Imageshop/p/4694540.html

7.表面模糊

  这也是在别人那看到的,采用C++实现,效果不错。

  C++图像处理 -- 表面模糊 https://blog.csdn.net/maozefa/article/details/8270990

 

 如果有看到新的再给更上来

你可能感兴趣的:(opencv学习)