双边滤波(Bilateral Filter)详解

转自:睁开眼就变帅

原理分析:

双边滤波与高斯滤波器相比,对于图像的边缘信息能过更好的保存。其原理为一个与空间距离相关的高斯函数与一个灰度距离相关的高斯函数相乘。

空间距离:指的是当前点与中心点的欧式距离。空间域高斯函数其数学形式为:

其中(xi,yi)为当前点位置,(xc,yc)为中心点的位置,sigma为空间域标准差。

灰度距离:指的是当前点灰度与中心点灰度的差的绝对值。值域高斯函数其数学形式为:

其中gray(xi,yi)为当前点灰度值,gray(xc,yc)为中心点灰度值,sigma为值域标准差。

对于高斯滤波,仅用空间距离的权值系数核与图像卷积后,确定中心点的灰度值。即认为离中心点越近的点,其权重系数越大。

双边滤波中加入了对灰度信息的权重,即在邻域内,灰度值越接近中心点灰度值的点的权重更大,灰度值相差大的点权重越小。此权重大小,则由值域高斯函数确定。

两者权重系数相乘,得到最终的卷积模板。由于双边滤波需要每个中心点邻域的灰度信息来确定其系数,所以其速度与比一般的滤波慢很多,而且计算量增长速度为核大小的平方。

参数选择:

空间域sigma选取:其中核大小通常为sigma的6*sigma + 1。因为离中心点3*sigma大小之外的系数与中点的系数只比非常小,可以认为此之外的点与中心点没有任何联系,及权重系数为0.OpenCV中默认的计算公式也是如此,OpenCV参考文档内容如下:“对应高斯参数的 Gaussian sigma (标准差). 如果为零,则标准差由下面的核尺寸计算: sigma = (n/2 - 1)*0.3 + 0.8, 其中 n=param1 对应水平核,n=param2对应垂直核.”

值域sigma选取:另灰度差△g  =  abs(gray(xi,yi)- gray(xc,yc)),忽略常数的影响,因此其函数可以简化为:

的图像可知:

已知 0≤△g≤255;

1)假设sigma = 255,当△g = 255时,系数为exp(-1) = 0.3679,当△g = 0时,系数为exp(-0)= 1.灰度最大点的系数与相差最小的灰度值系数之比为 0.3679.

2)假设sigma = 122.5,当△g = 255时,系数为exp(-4) = 0.0183,当△g = 0时,系数为exp(-0)= 1.灰度差最大点的系数与相差最小的灰度值系数之比为 0.0183.

结论:因为导数为,其增长速度为指数增长。

当simga较大时,灰度差最大值与最小值的系数在很小的一个范围之内,其比值较大。及灰度差较大的点,对于中心点也会有相应的较大的权值,此与双边滤波的保留边缘的初衷相违背。

当sigma较小时,灰度差最大值与最小值的系数在较大的一个范围之内,其比值很小,及灰度差较大的点,对应中心点仅有很小的权重。

综上分析可知:

Sigma越大,边缘越模糊,极限情况为simga无穷大,值域系数近似相等(忽略常数时,将近为exp(0)= 1),与高斯模板(空间域模板)相乘后可认为等效于高斯滤波。

Sigma越小,边缘越清晰,极限情况为simga无限接近0,值域系数近似相等(接近exp(-∞) =  0),与高斯模板(空间域模板)相乘后,可近似为系数皆相等,等效于源图像。

关于Bilateral Filter的相关解释可参见:http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html

双边滤波(Bilateral Filter)详解相关推荐

  1. 三种经典图像滤波方法介绍——双边滤波(Bilateral filter)、导向滤波(Guided Fliter)、滚动导向滤波(RollingGuidedFilter)

    文章目录 一.前言 二.双边滤波(Bilateral filter) 2.1 双边滤波的理论介绍及公式推导 2.2 双边滤波的matlab程序实现 三.导向滤波(Guided Fliter) 3.1 ...

  2. (十五)双边滤波Bilateral Filter

    文章目录 mathjax: true 1.高斯滤波 1.1 理论 1.2 示例 2.双边滤波(Bilateral Filter) 2.1 理论基础 2.2 OpenCV bilateralFilter ...

  3. 双边滤波(bilateral filter)以及联合双边滤波(joint bilateral filter)

    文章目录 双边滤波 理论公式 代码(C++) 数学辅助理解 联合双边滤波(joint bilateral filter) 参考链接 写在最后 双边滤波 自用备忘,若侵则删. 理论公式 利用二维高斯函数 ...

  4. 双边滤波(Bilateral filter)原理介绍及matlab程序实现

    双边滤波 1.原理介绍 双边滤波由C. Tomasi在1998年提出,是一种经典的非线性空间滤波方法.在滤波器稀疏的制定上,双边滤波同时考虑到了输出像素与邻域内其它像素的欧氏距离和取值的差异,即:同时 ...

  5. matlab双边收敛,双边滤波(bilateral filter)快速算法 matlab实现代码

    本算法参考自论文"Paris S, Durand F. A fast approximation of the bilateral filter using a signal process ...

  6. 双边滤波(bilateral filter)彩色图 matlab实现代码

    https://blog.csdn.net/weixin_38285131/article/details/77719199 https://blog.csdn.net/majinlei121/art ...

  7. OpenCV图像处理学习九,双边滤波器 (Bilateral Filter)和中位数滤波器 (Median Filter)

    均值模糊无法克服边缘像素信息丢失缺陷,原因是均值滤波是基于平均权重,赋予图像内的像素与图像边缘像素一样的比值权重,图像处理是会使得边缘部分图像部分像素信息丢失: 高斯模糊部分克服了该缺陷,但是无法完全 ...

  8. 布隆过滤器+布隆过滤器(Bloom Filter)详解

    布隆过滤器+布隆过滤器(Bloom Filter)详解 程序 = 数据结构 + 算法 -- 图灵奖得主,计算机科学家N.Wirth(沃斯) A Bloom filter is a space effi ...

  9. logstash过滤器插件filter详解及实例

    原创作者:峰哥ge 原创地址: https://www.cnblogs.com/FengGeBlog/p/10305318.html logstash过滤器插件filter grok正则捕获 grok ...

  10. es6 map()和filter()详解【转】

    本文转载自: https://www.cnblogs.com/zxyun/p/7019631.html 作者:zxyun 转载请注明该声明. 原文地址:http://www.zhangxinxu.co ...

最新文章

  1. 被问概率达99%的面试问题
  2. java中判断两个方法是否相同
  3. 职称计算机隐藏桌面图标,2018年职称计算机考试WindowsXP操作题(1)
  4. java iconsolefactory_java – 如何设置IOConsole的Caret
  5. 电脑:电脑弹窗广告三个解决方法,欢迎收藏!
  6. 通过字符串引入模块下的属性
  7. 网络数据隐私保护,阿里工程师怎么做?
  8. python timeout_decorator_使用timeout-decorator为python函数任务设置超时时间
  9. 2008年8月30日人力资源系统启动会
  10. seata分布式事务原理_分布式事务 Seata 及其三种模式详解
  11. java 贝叶斯抠图_毕业论文 基于贝叶斯算法的自动抠图程序设计与实现.doc
  12. java rgb565转rgb888_RGB565 与 RGB888的相互转换
  13. Manjaro-architect 安装指南
  14. Ubuntu(linux)系统配置搭建代理服务器
  15. xpath 爬取51job,存于excel
  16. perl安装不全导致的Can't locate Time/HiRes.pm in @INC错误的处理方法
  17. 为什么燕子鸟纹身是如此出名
  18. 深入理解工具链-自己搭建STM32编程IDE
  19. 天翼云主机利用filezilla部署FTP服务器
  20. mac上传文件到阿里云ECS及scp命令使用

热门文章

  1. 电子积木fx微型计算机,电子积木在电子电工理论教学中的实践应用
  2. 数字电路硬件设计系列(四)之STM32最小系统设计
  3. 开关电路的种类与功能
  4. linux 种子文件怎么打开,torrent
  5. 8瓶药,有一瓶毒药,至少需要几只小白鼠才能一次实验出结果
  6. 使用lr如何添加照片?
  7. java计算机毕业设计vue宿舍管理系统MyBatis+系统+LW文档+源码+调试部署
  8. Fastone api provided for SMIC
  9. ipad怎么投屏到电视机?“屏幕镜像”功能用的很溜
  10. 计算机的CPU型号 内存容量和硬盘容量,什么是LGA,PGA,BGA类型的CPU封装?CPU主频/内存容量/硬盘容量怎么看?...