其他分享
首页 > 其他分享> > 导向滤波(Guided Filter)相关公式及伪代码

导向滤波(Guided Filter)相关公式及伪代码

作者:互联网

参考文献:《张文婷_基于导向滤波的图像增强算法研究》

导向滤波器的定义:

q_{i}=\bar{a_{i}}I_{i}+\bar{b_{i}}

式中q_{i}为输出像素点,I_{i}为导向图像素点(导向图可以为输入图像,也可以是其他图像)

假设输出图像q是输入图像p减去不必要的纹理和噪声n,则可得到下述公式:

q_{i}=p_{i}-n_{i}

为了让输出图像 q 与输入图像 p 相差最小,引入了下述代价函数,式中系数 a_{k} 和 b_{k} 在窗口 w_{k} 中保持不变,则:

E(a_{k}, b_{k})=\sum_{i \epsilon w_{k}}^{}((a_{k}I_{i}+b_{k}-p_{i})^{2}+\varepsilon a_{k}^{2})

式中 \varepsilon 是正则化参数,最小化该代价函数,可得到 a_{k} 和 b_{k} 的表达式如下:

a_{k}=\frac{\frac{1}{\left | \omega \right |}\sum_{i\epsilon w_{k}}^{}I_{i}p_{i}-\mu _{k}\bar{p_{k}}}{\sigma_{k}^{2}+\varepsilon }

b_{k}=\bar{p_{k}}-a_{k}\mu _{k}

式中 \mu_{k} 和 \sigma_{k}^{2} 分别是导向图 I 在窗口w_{k} 中的均值和方差

方差与数学期望的公式为 D(X)=E(X^{2})-E(X)^2

所以,

 \bar{a_{i}}=\frac{1}{\left | \omega \right |}\sum_{k\epsilon w_{i}}^{}a_{k} ,\bar{b_{i}} = \frac{1}{\left | \omega \right |}\sum_{k\epsilon w_{i}}^{}b_{k}

伪代码:

1:mean_{I}=f_{mean}(I)

     mean_{p}=f_{mean}(p)

     corr_{I}=f_{mean}(I.*I)

     corr_{Ip}=f_{mean}(I.*p)

2:var_{I}=corr_{I}-mean_{I}.*mean_{I}

      cov_{Ip}=f_{mean}(I.*p)

3:a=cov_{Ip}./(var_{I}+\varepsilon )

      b=mean_{p}-a.*mean_{I}

4:mean_{a}=f_{mean}(a)

      mean_{b}=f_{mean}(b)

5:q=mean_{a}.*I+mean_{b}

标签:输出,导向,公式,Guided,滤波,Filter,图像,像素点,输入
来源: https://blog.csdn.net/zsk444/article/details/122467122