论文:http://kaiminghe.com/publications/eccv10guidedfilter.pdf
https://blog.youkuaiyun.com/baimafujinji/article/details/74750283
https://www.cnblogs.com/mightycode/p/8005514.html
属于各向异性滤波,通过窗口中方差的大小区分边缘区域和平滑区域(高方差——边缘区域)(方差不大——平滑区域)
目标是有两部分:
一是:使输入P和输出Q 尽可能相同,以求解最小平方差为目标
(1)
二是:使纹理部分尽可能和引导图G相似,可用以下求解梯度形式表示:
积分后:
(2)
在小窗口W各个像素下,通过求解(1)(2)约束求解参数a和b
其中:是导向图I在窗口W中的均值
是导向图I在窗口W中的方差
是窗口中像素的数量
是待滤波图像P在窗口中的均值
其中求解Q时,根据多个包含该像素点的多个窗口W线性函数表示,在W中做平均。
在MATLAB2014b以后的版本中已经有函数
O = imguidedfilter(I,p,'NeighborhoodSize', 9, 'DegreeOfSmoothing',0.04);
第一个输入参数是需要滤波的图像;
第二个参数是引导图;
第三个参数是窗口大小;
第四个参数是平滑度,我认为就是和方差比较大小的正则化参数