图像处理之双边滤波算法

作者: 顾子豪 | 来源:发表于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)

相关文章

  • 图像处理之双边滤波算法

    双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,...

  • 图像处理之双边滤波算法

    双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,...

  • 图像处理之双边滤波

    1、图像高斯模糊去噪 二维的高斯核函数表示如下(1):(式中Xc,Yc是中心元素的位置) 二维的高斯核也是可分离的...

  • OpenCV 图像滤波:双边滤波算法

    最近在看浅墨前辈的OpenCV教程来做一次复习,其中发现了一个挺有趣的之前没见过的算法,叫双边滤波算法。这个算法可...

  • NDK 开发实战 - 实现相机美颜功能

    在 《图形图像处理 - 实现图片的美容效果》 一文中提到了图片的美容,采用双边滤波算法来实现,具体的算法流程和实现...

  • NDK 开发实战 - 实现相机美颜功能

    在 《图形图像处理 - 实现图片的美容效果》 一文中提到了图片的美容,采用双边滤波算法来实现,具体的算法流程和实现...

  • 图像滤波器选用准则

    我们平时在做图像处理工作的时候经常会听到各种各样的滤波,什么均值滤波、高斯滤波、中值滤波、双边滤波等等,但着眼于应...

  • opencv+python -- 图像模糊处理(三)---边缘保

    双边滤波 双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度...

  • 计算摄影学Lab2:图像滤波和傅里叶变换

    任务清单 实现盒装均值滤波 实现高斯滤波 实现中值滤波 实现简单的双边滤波 利用傅里叶变换完成图像的频域变换 空域...

  • GPUImage源码分析(七):GPUImageBilatera

    GPUImageBilateralFilter是双边滤波,它和高斯滤波类似,也是一种加权平均,但可以保持图像中的边...

网友评论

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

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