位置: IT常识 - 正文

Bilateral Filters(双边滤波算法)的超简单原理,学不会你打我。

编辑:rootadmin
Bilateral Filters(双边滤波算法)的超简单原理,学不会你打我。

推荐整理分享Bilateral Filters(双边滤波算法)的超简单原理,学不会你打我。,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Bilateral Filters(双边滤波算法)的超简单原理,学不会你打我。

摘要: 双边滤波(Bilateral Filters)是非常常用的一种滤波,它可以达到保持边缘、降噪平滑的效果。和其他滤波原理一样,双边滤波也是采用加权平均的方法,用周边像素亮度值的加权平均代表某个像素的强度,所用的加权平均基于高斯分布。最重要的是,双边滤波的权重不仅考虑了像素的欧氏距离(如普通的高斯低通滤波,只考虑了位置对中心像素的影响),还考虑了像素范围域中的辐射差异(例如卷积核中像素与中心像素之间相似程度、颜色强度,深度距离等)。

一:如何判断边缘? 在开始之前,我们先讨论一下如何判断边缘。一般而言,区分图像是否为边缘部分的方法如下: 1:在图像的边缘部分,像素值的变化较为剧烈。 2:在图像的非边缘区域,像素值的变换较为平坦。 通过以上两点,我们可以总结出,想要保留图像边缘,必须引入一个能够衡量图像像素变换剧烈程度的变量。

二:双边滤波算法原理 霍金曾经说过,如果一本书里面有一个公式,那么这本书的销量将会失去上万个读者。本文将出现好几个公式,按这样会有失去许多个读者,但是不出现公式是不可能的,作者将尽力解释公式的含义,希望看官看过后觉得有用就点一个订阅。话不多说,咱们开门见山。 首先看双边滤波的公式: 其中: 先看到这两个公式不要慌,慢慢听我说公式中的符号是什么意思。我们先做一些准备。 我们选择一个的框,随便放在一张图中。像我这样选择一个5×5的框放在10像素×10像素的图上面。分别沿水平方向和竖直向下方向建立坐标轴,水平的叫X轴,竖直向下的叫Y轴。图中一个一个小方框代表一个像素值,这些像素值都有了一个坐标。咱们举一个例子:在这个5×5的框中,像素为165的这个点坐标为(0,0),像素为156的这个点的坐标为(1,0),像素为56的这个点坐标为(0,1),像素为0的这个点的坐标为(1,1),诸如此类。 好了,现在我们做了一些准备工作,接下来解释符号含义就方便了许多。q是输入的像素点,它代表上图中5×5的方框中其中的一个像素点。我们先不管累加符号∑和q∈S这个符号,接下来需要一点数学基础,GσsGσ_sGσs​是为空间域核,GσrGσ_rGσr​是图像像素域核。 这是两个二维高斯函数,二维高斯函数的公式为(我在网上找的一张图,带了水印,不过无关紧要): 不过这里我们对二维高斯函数进行了一些小的改动,让他们更加符合我们的要求,这里给出GσsGσ_sGσs​和GσrGσ_rGσr​的公式,: 其中: q代表输入像素点,m与n是输入像素的横坐标与纵坐标,p是方框中心像素点,i与j是方框中心像素的坐标,I(m,n)代表输入像素的值,I(i,j)代表方框中心像素的值,σsσ_sσs​与σrσ_rσr​是我们自己设定的值。比如:q代表输入像素,在我们的方框中,我们选择像素值为156的点为输入像素,那么它的坐标为(1,0),m=1,n=0,I(1,0)=156。方框中心的点的坐标为(2,2),那么i=2,j=2,I(2,2)=146。 (ps:这个图片太大了,等我学会插入公式后再来修改一下) 代表输出的像素值,也就是我们在方框中心点要更新的像素值。我们现在举一个例子来说明。 ①首先遍历整个5×5的小框,第一个遍历到的点是165,它的坐标是(0,0),像素值是165, 那么中心点与该点的空间域计算结果为:

②再计算中心点与该点的像素域结果: 当 σsσ_sσs​与 σrσ_rσr​ 分别为5和20时,Gσs = 0.8521,Gσr = 0.6368。 ③我们将σsσ_sσs​与 σrσ_rσr​ 和第一个像素值(ps:第一个像素值是165)相乘,这三个数相乘得到第一个结果。还记得累加符号∑和q∈S符号吗?其中S指的就是5×5的这个框,它的意思就是从第一个像素开始遍历,按照①②的步骤,求得每一个在5×5方框中的像素的空间域和像素域的结果,并且将像素值和空间域计算结果和像素域结果相乘,最后将这些结果相加起来,得到滤波算法公式的分子。

好了,我们解释完双边滤波算法的分子,接着解释分母。 当我们遍历整个5x5的方框,将方框内每个像素点都与中心点建立联系,求出它们的 Gσs 与 Gσr 的值,将 Gσs 与 Gσr 相乘即得到每个点对应的Wp,即Wp = Gσs × Gσr,将方框中25个像素点对应Wp进行累加,得到一个总的Wp,便是分母,我们在计算分子的时候可以顺便算出分母。我们再来捋一遍,在遍历结束后,用每个点的Wp乘上该点的像素值I(m, n),并求和,作为分子。将每个点的Wp相加,作为分母,两者相除,即得到需要的新输出图像的中心点(i,j)的像素值。也就是我们的滤波输出,我们将小框从左往右,从上往下不断移动,按照我们的算法不断更新方框中心的像素值,就得到了双边算法的输出。 好了,我讲完了,你听懂了吗?有问题可以留言,我会积极回答的。

本文链接地址:https://www.jiuchutong.com/zhishi/300011.html 转载请保留说明!

上一篇:DeepSort目标跟踪算法(deepsort 跟踪)

下一篇:授予渔,从0开始搭建一个自己想要的网页(授渔计划是什么意思)

  • 企业出售资产要交增值税吗
  • 股东所有者权益公式
  • 财务要做哪些表
  • 利息股息红利所得个人所得税税率
  • 资金账簿印花税每年都要交吗?
  • 保证金存款余额
  • 当月采购发票未到如何做账及结转成本?
  • 减免税款记账营业外收入什么科目?
  • 增值税销项发票冲红怎么冲
  • 汽车违章罚款在哪里缴纳
  • 增值税专用发票和普通发票的区别
  • 建筑业预缴增值税税率
  • 会计报表上总资产怎么填
  • 资产负债表其他应付款包括哪些
  • 个人所得税申报退税的条件
  • 如何倒算税前工资的公式
  • 代扣代缴手续费要交增值税吗
  • 出让和转让的有何区别
  • 公司购买理财的好处有哪些
  • 系统日志在哪里打开
  • 公司长期贷款
  • 通行费怎么认证
  • window10与CentOS双系统安装详细教程
  • rasman.exe - rasman是什么进程 有什么作用
  • php中split
  • 进程 com surrogate
  • 微信小程序获取手机号
  • 小茴香的栽培技术
  • 破产清算中欠发工资应否交个人所得税
  • 高温补贴 个人所得税
  • 阿里巴巴php
  • 哪些项目计入其他应收款
  • 网络分割算法
  • 增值税普通发票税率
  • 外国人在我国境内被刑事拘留
  • 所得税包含哪些项目
  • 进项税额转出月底需要结转吗
  • 支付临时工工资,需要个税申报吗
  • 税款追征期三年
  • 发票可否盖财务章
  • 应交税金及附加怎么计算
  • 企业送员工的礼品
  • 进项税额中运输费怎么算
  • 未入账的记账凭证填错了怎么办
  • 电子支付支付是什么意思
  • 来料加工的特点包括
  • 销售收入用营业收入还是营业总收入
  • 如何判断企业处于什么阶段
  • 企业会计准则规定,企业在对会计要素
  • 建立新公司需要做什么
  • 公对私 预付款 税
  • 现金支票办理电话
  • 编写高质量代码改善JAVA程序的151个建议
  • mysql 5.6 5.7 性能
  • sql汇总查询
  • mysql 左链接 右链接
  • linux 二进制转十六进制
  • win8.1应用
  • 修改注册表加快开机速度
  • linux系统中的用户分为哪几类
  • ubuntu下安装win10
  • ghoststartservice.exe是什么进程 有什么作用 ghoststartservice进程查询
  • shell.epc
  • coco触控
  • cocos2d怎么用
  • cocos2dx运行原理
  • Android Chromium WebView学习启动篇
  • shell实际例子
  • unity3d quaternion
  • javascript基于什么的语言
  • javascript如何学
  • js创建对象的方法有哪些
  • android获取系统弹窗,自动点击
  • jquery datatable排序
  • 社保逾期未申报会造成什么影响,要怎么处理
  • 百旺税控盘口令认证失败PiN被锁
  • 企业自建厂房在建工程会计账务处理
  • 河南助学金申请表
  • 翡翠是否交消费税
  • 江苏省税务局授权网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设