先介绍了box滤波器,然后介绍了Side window filter,之后介绍了S-BOX。写的很粗略,理解的不是很透彻,具体可以看我的参考内容。
box filter
参考: https://blog.csdn.net/lxy201700/article/details/25104887
(我瞎说的:不要管它的算法,本质上是均值滤波不用求和,通过一定技巧把O(M*N)的复杂度变成O(1))

1、给定一张图像,宽高为(M,N),确定待求矩形模板的宽高(m,n),如图紫色矩形。图中每个黑色方块代表一个像素,红色方块是假想像素。
2、开辟一段大小为M的数组,记为buff, 用来存储计算过程的中间变量,用红色方块表示
3、将矩形模板(紫色)从左上角(0,0)开始,逐像素向右滑动,到达行末时,矩形移动到下一行的开头(0,1),如此反复,每移动到一个新位置时,计算矩形内的像素和,保存在数组A中。以(0,0)位置为例进行说明:首先将绿色矩形内的每一列像素求和,结果放在buff内(红色方块),再对蓝色矩形内的像素求和,结果即为紫色特征矩形内的像素和,把它存放到数组A中,如此便完成了第一次求和运算。
4、每次紫色矩形向右移动时,实际上就是求对应的蓝色矩形的像素和,此时只要把上一次的求和结果减去蓝色矩形内的第一个红色块,再加上它右面的一个红色块,就是当前位置的和了,用公式表示 sum[i] = sum[i-1] - buff[x-1] + buff[x+m-1]
5、当紫色矩形移动到行末时,需要对buff进行更新。因为整个绿色矩形下移了一个像素,所以对于每个buff[i], 需要加上一个新进来的像素,再减去一个出去的像素,然后便开始新的一行的计算了

本文介绍了box filter的优化方法,通过特定技巧将复杂度从O(M*N)降低到O(1)。接着,详细阐述了side window filtering的概念,它是如何利用侧窗思想改进滤波器,使其在保持边缘清晰的同时进行滤波。文章还提到了S-BOX,它是box filter与SWF结合的滤波器,并给出了算法流程和MATLAB代码示例。

2014

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



