转自 :http://blog.csdn.net/aichipmunk/article/details/20704681
与双边滤波最大的相似之处,就是导向滤波同样具有保持边缘特性
关于局部线性:可以参看下图,该模型认为,某函数上一点与其邻近部分的点成线性关系,一个复杂的函数就可以用很多局部的线性函数来表示,当需要求该函数上某一点的值时,只需计算所有包含该点的线性函数的值并做平均即可
接下来时导向滤波的原理推导:
导向图像I,滤波输入图像p以及输出图像q。像素点 i 处的滤波结果是被表达成一个加权平均:
假设导向滤波器在导向图像I和滤波输出q之间在一个二维窗口内是一个局部线性模型,a和b是当窗口中心位于k时该线性函数的系数
最小化下面的窗口Wk的代价函数,求出线性函数的系数,也就是线性回归,即希望拟合函数的输出值与真实值p之间的差距最小,也就是让下式最小
用来确定a,b的值(通过最小二乘法)
其中其中,是I在窗口w_k中的平均值,是I在窗口w_k中的方差,是窗口w_k中像素的数量,是待滤波图像p在窗口w_k中的均值。
在计算每个窗口的线性系数时,我们可以发现一个像素会被多个窗口包含,也就是说,每个像素都由多个线性函数所描述。因此,如之前所说,要具体求某一点的输出值时,只需将所有包含该点的线性函数值平均即可,如下
在滤波效果上,导向滤波和双边滤波差不多,在一些细节上,引导滤波较好;
在论文中给出了算法: