双边滤波-程序员宅基地

技术标签: opencv  

双边滤波是一种非线性滤波,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部的特点。可以做边缘保存。

双边滤波器比高斯滤波多了一个高斯方差sigma-d,它是基于空间分布的高斯滤波函数,所以在边缘附近,离得较远的像素不会对边缘上的像素值影响太多,这样就保证了边缘附近像素值的保存。但是由于保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波器不能够干净地滤掉,只能对低频信息进行较好地滤波。

在双边滤波中,输出像素的值依赖于邻域像素值的加权值,公式如下:

g(i,j)=k,lf(k,l)w(i,j,k,l)k,lw(i,j,k,l),j,k,l

加权系数w(i,j,k,l)取决于定义域核和值域核的乘积。

d(i,j,k,l)=exp((ik)2+(jl)22σ2d),

r(i,j,k,l)=exp(||f(i,j)f(k,l)||22σ2r),

w(i,j,k,l)=exp((ik)2+(jl)22σ2d||f(i,j)f(k,l)||22σ2r

d函数是根据像素距离选择权重,距离越近权重越大,这一点和方框滤波,高斯滤波方式相同。而r函数则是根据像素的差异来分配权值。如果两个像素值越接近,即使相距较远,也比差异大而距离近的像素点权重大。正是r函数的作用,使得边缘,即相距近但差异大的像素点的特性得以保留。

1.双边滤波

可以保留边缘。基于空间距离及亮度差值的滤波。可用在图像分割。

彩色图片中的亮度差值的计算是计算各颜色分量差值加权求和得到。

2.膨胀与腐蚀

膨胀:核B与图像A卷积,计算核B覆盖区域的最大值。可使高亮区域逐渐增长。

腐蚀:计算核B覆盖区域的最小值。可是高亮区域减小。

膨胀可以填补凹洞,找连通分支(一个大的区域可能被噪声分割,膨胀操作可以使这些部分连通在一起)。使亮的区域得到扩展和连接。

腐蚀可以消除图像中的“斑点”噪声,使亮度区域被隔离并且缩小。

3.更通用的形态学处理

开运算:先腐蚀后膨胀。去除小的明亮区域,并且剩余的明亮区域被隔绝,但其大小不变。

闭运算:先膨胀再腐蚀。消除低亮度点值的孤立点。

形态学梯度:膨胀减去腐蚀。留下完整的外围边缘。

礼帽:原图减去其开运算。突出局部亮度极大点。

黑帽:原图减去其闭运算。突出局部亮度极小点。




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41284198/article/details/80886052

智能推荐

机器学习、深度学习需要哪些数学知识?_机器学习用哪种数学只是更多?-程序员宅基地

文章浏览阅读1.1k次,点赞4次,收藏16次。如果不是有太多自由时间,不要过度投入到数学上,或者说不要系统大量地学习,可以遇到不懂的再去学习相关数学知识。(本文部分摘自图灵的猫公众号 )微积分微积分是现代数学的基础,线性代数,矩阵论,概率论,信息论,最优化方法等数学课程都需要用到微积分的知识。单就机器学习和深度学习来说,更多用到的是微分。积分基本上只在概率论中被使用,概率密度函数,分布函数等概念和计算都要借助于积分来定义或计算。 几乎所有学习算法在训练或者预测时都是求解最优化问题,因此需要依赖于微积分来求解函数的极值,而模型中某些函数的选取_机器学习用哪种数学只是更多?

JavaScript 中的函数式编程实践-程序员宅基地

文章浏览阅读58次。http://www.ibm.com/developerworks/cn/web/1006_qiujt_jsfunctional/ JavaScript 是一门优美的语言,具有动态性,弱类型,并有 C 和 LISP 的双重语法,重要的是,她本身是“可编程”的。文章先对 JavaScript 的函数式编程特性做一些介绍,然后讨论函数式编程在实际项目中..._javascript node 18.12.2 实现一个sum函数,输入位为一个数组,输出为数组内

解决c++string类型变量无法输出中文的问题(环境:mingw+vscode)_c++string不能输出中文-程序员宅基地

文章浏览阅读933次。我也是在网上找了好久解决办法 其实很简单在visual code终端中输入chcp 936即可。_c++string不能输出中文

3D点云目标检测Complex-YOLO(训练篇)(一)———KITTI数据集预处理与制作_complex-yolo训练自己的数据集-程序员宅基地

文章浏览阅读5.8k次,点赞10次,收藏101次。KITTI datasetDownload datasetKITTI 3D Object Detection Evaluation 2017 link下载四个部分,共41.4GB解压后为四部分内容(相机校准矩阵calib、RGB图像image_2、标签label_2、点云数据velodyne) 对应的testing和training数据。其中,training数据为7481张(图片和点云对应的场景),testing数据 7518张(无label_2数据)。Data Preprocess_complex-yolo训练自己的数据集

大模型的风,还需要一个底层AI框架来落地_luojianet底层是mindspore-程序员宅基地

文章浏览阅读435次。深度学习发展至今,语言、视觉、推荐、代码生成等多个领域相继出现一些“大模型”成果,不断刷新着人们对AI的认知与想象。深度学习依赖对大量数据的训练,而“大模型”的参数更多、函数更复杂,这样的特征使得模型所演算出来的结果更精准。随着万物互联世界的进一步发展,数据量的扩展与数据收集已不再是难题,随之而来的新命题是如何处理海量数据,并且做出更好地训练。早在2017年,Transformer结构被提出,使得深度学习模型参数突破了1亿;2018年,BERT网络模型的提出,使得参数量首次超过3亿规模;2020年,拥有17_luojianet底层是mindspore

4.4 C++ Boost 数据集序列化库_c++ 序列化库-程序员宅基地

文章浏览阅读5.3k次。Boost库提供了一组通用的数据序列化和反序列化库,包括archive、text_oarchive、text_iarchive、xml_oarchive、xml_iarchive等。可用于许多数据类型的持久化和传输。使用这些库,我们可以轻松地将各种数据类型序列化到文件或流中,并从文件或流中反序列化数据。_c++ 序列化库

随便推点

【学习摘记】马士兵bbs改良版_课时22-24_FCKEditor-程序员宅基地

文章浏览阅读373次。【课时22】FCKEditor_1——开阔眼界:还有这么一个东西,我们可以用,而且很简单我们就把它用起来了我现在讲的这个reply呢,其实和上一个老的bbs讲的reply其实没什么区别。你如果想看呢,可以看老的,也可以看现在写的这个。但是我如果老讲同样的东西,你不烦我都觉着烦了。老师像是这么因循守旧、不思进取的人么?所以教一点新鲜玩意——不是很重要,但是教着玩~将来,有朝一日,

【案例练习】18—27个适合初学前端开发人员的项目练习案例-程序员宅基地

文章浏览阅读2k次,点赞4次,收藏38次。编辑整理 | 杨小爱今天我们将深入学习一些网站页面的项目练习,通过案例的练习,以提高我们的编程开发设计能力,今天的案例练习主要涉及到的知识有HTML、CSS、Javascript,通过练习,你也可以将这些知识应用到实际的网站开发中!01、响应式社交平台演示地址:https://codepen.io/TurkAysenur/pen/RwWKYMO02、福克斯新闻页面演示地址..._前端练习图片

5.0安装没有costom mysql_MySQL5.0安装图解-程序员宅基地

文章浏览阅读90次。@一、MYSQL的安装1、打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”。2、选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,选择“Custom”,按“next”键继续。3、在“Developer Components(开发者部分)”上左键单击,选择“This fea..._mysql 5.0 custom 没有后续选择

export default (imported as router) was not found_Vue(Vue项目、路由vue-router、网络请求vue-resource) 的安装与使用...-程序员宅基地

文章浏览阅读865次。一、Vue项目的安装1. 安装vue脚手架 Npm install --global vue-cli;如已经装过,可忽略2. 新建安装vue 项目 Vue init webpack vue1(项目名称) Cd >vue1 cd 到vue1根目录3. 启动项目 Npm run dev,若启动失败 安装依赖环境,Npm install二、路由的安装与配置1. 安装路由..._unable to find default export.

Tuning Garbage Collection Outline-程序员宅基地

文章浏览阅读115次。Tuning Garbage Collection Outline This document is a summary or outline of Sun's document: Tuning Garbage collection with the 1.4.2 Hotspot JVM located here: http://java.sun.com/docs/hotspot/gc1..._soft references cleared less aggressively in server 翻译

python字典dict添加元素的两种方法_python dict 新增-程序员宅基地

文章浏览阅读2.5k次。【代码】python字典dict添加元素的两种方法。_python dict 新增

推荐文章

热门文章

相关标签