图像处理之双边滤波算法

作者: 顾子豪 | 来源:发表于2021-06-07 01:59 被阅读0次

    双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部处理的特点。之所以能够达到保边去噪的滤波效果是因为滤波器由两个函数构成:

    一个函数是像素欧式距离决定滤波器模板的系数,另一个是由像素的灰度差值决定滤波器模板的系数。

    其综合了高斯滤波器(Gaussian Filter)和α-截尾均值滤波器(Alpha-Trimmed mean Filter)的特点。高斯滤波器只考虑像素间的欧式距离,其使用的模板系数随着和窗口中心的距离增大而减小;Alpha截尾均值滤波器则只考虑了像素灰度值之间的差值,去掉α%的最小值和最大值后再计算均值。

    双边滤波器使用二维高斯函数生成距离模板,使用一维高斯函数生成值域模板。

    双边滤波器中,输出像素的值依赖于邻域像素的值的加权组合,其公式如下:
    d(i, j, k, l)=\exp \left(-\frac{(i-k)^{2}+(j-l)^{2}}{2 \sigma_{d}^{2}}\right)
    其中(k,l)为模板窗口的中心坐标;(i,j)为模板窗口的其他系数的坐标;σd为高斯函数的标准差。 使用该公式生成的滤波器模板和高斯滤波器使用的模板是没有区别的。

    值域模板系数的生成公式如下:
    r(i, j, k, l)=\exp \left(-\frac{\|f(i, j)-f(k, l)\|^{2}}{2 \sigma_{r}^{2}}\right)
    其中,函数f(x,y)表示要处理的图像,f(x,y)表示图像在点(x,y)处的像素值;(k,l)为模板窗口的中心坐标;(i,j)为模板窗口的其他系数的坐标;σr为高斯函数的标准差。

    将上述两个模板相乘就得到了双边滤波器的模板,其公式如下:
    w(i, j, k, l)=d(i, j, k, l) * r(i, j, k, l) =\exp \left(-\frac{(i-k)^{2}+(j-l)^{2}}{2 \sigma_{d}^{2}}-\frac{\| f(i, j)-f(k, l)||^{2}}{2 \sigma_{r}^{2}}\right)

    相关文章

      网友评论

        本文标题:图像处理之双边滤波算法

        本文链接:https://www.haomeiwen.com/subject/ifpheltx.html