本文主要总结递归高斯算法的基本原理,分析,实现,指令优化实现等
原始高斯滤波算法计算量很大,网上资料很多,不赘述了,自行search
二维高斯滤波在图像处理中非常非常重要,最常见的是高斯模糊,做模糊滤镜,其本质是空域的低通滤波器,在本人另外的两篇博客同态滤波和MSRCR中有提及。对于同态滤波,需要对对数变换后的结果进行高通滤波,常规是变换到频域进行处理,也可以不进行频域变换,直接进行空域高斯滤波实现低通滤波,然后再用减法实现高通滤波。对于MSRCR算法,每个颜色通道需要进行三个强度的高斯滤波,复杂度可想而知。而且常规的高斯滤波需要考虑滤波窗大小,可以自己参考opencv里面的高斯滤波,可以自己搜一下复杂度分析,对于视频等实时处理,原始算法显然没什么实用性。
后面有人提出先进行水平一维滤波,然后再进行竖直方向一维滤波,对于一个点的滤波,计算数据量由NxN减少为2*N,但还是和窗口大小N有关
有看到一种递归减半滤波平面大小的递归实现,原理不太清楚,可参考如下资料,文中fastFilter函数的定义:
http://blog.csdn.net/smallstones/article/details/41787079
然后是本文主要介绍的IIR递归高斯滤波,这个滤波器能近似接近高斯滤波器,也是分成两次一维滤波,关键是不需要设定滤波窗口大小,复杂度跟窗口大小无关,对于一维滤波先进行一次正向滤波,然后进行一次逆向滤波,所以对于大小为NXN大小的二维矩阵,计算复杂度为O(NXN)
计算公式参考:
http:/

本文深入探讨了IIR递归高斯滤波算法,它在图像处理中提供了一种高效替代传统高斯滤波的方法。通过两次一维滤波,IIR滤波器可以近似高斯滤波效果,且复杂度与滤波窗口大小无关,尤其适用于视频等实时处理场景。文中提到了相关资源,包括GIMP的源代码和Intel的SSE实现,为理解和优化实现提供了参考。
1万+

被折叠的 条评论
为什么被折叠?



