位置: IT常识 - 正文

立体匹配入门指南(8):视差图、深度图、点云(立体匹配原理)

编辑:rootadmin
立体匹配入门指南(8):视差图、深度图、点云

推荐整理分享立体匹配入门指南(8):视差图、深度图、点云(立体匹配原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:立体匹配步骤,sgbm立体匹配,立体匹配算法的研究和应用,立体匹配 综述,立体匹配算法的研究和应用,立体匹配步骤,立体匹配入门指的是什么,立体匹配的作用,内容如对您有帮助,希望把文章链接给更多的朋友!

本篇是比较简单的基础概念,刚入门的朋友可能是需要的。

视差图

三维点云

首先,我们要介绍下这三个概念。

视差(disparity)

视差 ddd 等于同名点对在左视图的列坐标减去在右视图上的列坐标,是像素单位 d=xl−xrd=x_l-x_rd=xl​−xr​立体视觉里,视差概念在极线校正后的像对里使用。

深度(depth)

深度D等于像素在该视图相机坐标系下ZZZ坐标,是空间单位。深度并不特在校正后的图像对里使用,而是任意图像都可获取深度图。

视差图(disparity map)

视差图指存储立体校正后单视图所有像素视差值的二维图像。

视差图是一张二维图像,和原图等大小视差图每个位置保存的以像素为单位的该位置像素的视差值以左视图视差图为例,在像素位置p的视差值等于该像素在右图上的匹配点的列坐标减去其在左图上的列坐标深度图(depth map)立体匹配入门指南(8):视差图、深度图、点云(立体匹配原理)

深度图指存储单视图所有像素的深度值的二维图像,是空间单位,比如毫米。

深度图是一张二维图像,和原图等大小,也就和视差图等大小深度图每个位置保存的是该位置像素的深度值深度值就是相机坐标系下的Z坐标值点云(point cloud)

点云指三维空间的三维点集合,坐标属性(X,Y,ZX,Y,ZX,Y,Z),法线属性(Nx,Ny,NzN_x,N_y,N_zNx​,Ny​,Nz​)(可选),颜色属性(R,G,BR,G,BR,G,B)(可选)

其次,为什么会有视差图和深度图呢?

我们知道,立体匹配一般是指逐像素的稠密匹配,这意味着每个像素都会得到一个视差值(包括无效值),如何存储这些视差值呢,显然以二维图的方式存储是很合适的,最大的两点优势是一方面可以通过像素坐标快速的在二维图中找到对应位置的视差值,而且和图像一样是有序的,邻域检索、视差滤波等将会变得非常方便;另一方面是可以直观的通过观察视差图和原图的对比,对视差图的质量有初步的判定。

而深度图的意义则是以更少的存储空间、有序的表达图像匹配的三维成果。更少的存储空间是因为只保存了一个深度值,而不是三维点云的三个坐标值,而深度值是可以结合像素坐标计算三维点坐标值的。有序是因为深度图和原图像素是一一对应的,所以原图的邻域信息完全继承到了深度图里。

这就是视差图和深度图的意义,视差图是立体匹配算法的产出,而深度图则是立体匹配到点云生成的中间桥梁。

视差图和深度图中间,有着一对一的转换公式: D=Bfd+(xr−xl)D=\frac {Bf}{d+(x_{0r}-x_{0l})}D=d+(x0r​−x0l​)Bf​ 其中,DDD为深度,ddd为视差,BBB为基线长度,fff为焦距(像素单位),xlx_{0l}x0l​和xrx_{0r}x0r​分别为左右视图主点的列坐标。,另一个较为熟知的公式是 D=BfdD=\frac {Bf}{d}D=dBf​ 这是在左右视图主点的列坐标相同的特殊情况,比如主点都在中心。

深度图计算相机坐标系下的点云,也有着简单的公式: Z=DX=D(x−xl)fY=D(y−yl)f\begin{aligned} Z &= D\\ X &= \frac {D(x-x_{0l})}{f}\\ Y &= \frac {D(y-y_{0l})}{f} \end{aligned}ZXY​=D=fD(x−x0l​)​=fD(y−y0l​)​​ 其中,x,yx,yx,y为像素的列坐标和行坐标,xlx_{0l}x0l​和yly_{0l}y0l​为主点的像素坐标。

常见问答: 问:为什么我从.png格式的视差图里读取到的视差值和真实值有很大差异? 答: 我们要先搞清楚,视差图是如何存储的。通常而言,我们是把二维视差图以图像格式存储,常见的格式有png、tif、pfm等,但这些图像格式存储的数据类型是有区别的,其中png只能存储整数,而tif和pfm则可以存储小数。而显然准确的视差值必然是浮点型的小数,所以存储为tif和pfm可以原值无损存储,而存储为png必然会损失精度,所以有的代码比如opencv会把得到的浮点型视差值乘以16倍取整,存储到png里,这样存储视差值的精度变为1/16,对于这种情况我们在读取png后要先除以16才是真实视差值,且视差会有阶梯分层现象。

那有同学就问,既然这样为什么要存储png呢?是因为目前主流的图像软件,不支持直接看浮点格式的tif和pfm,存储为png可以更好的观看视差图,当然要是实际生产使用,是必然不建议存储为png的,用来查看视差结果是可以的。

还有人会直接把视差值拉伸或者压缩到0~255,存储到png或bmp等存储整数的格式中,这样的视差图只能用来观看视差效果,没有其他作用,比如我的代码里的存储方式。

问:极线像对下的深度图和原图的深度图是一样的吗?如何转换? 答: 不一样,因为深度图是在视图所在的相机坐标系下的,所以和相机坐标系强挂钩,极限校正后的左视图和原始的左视图是不一样的相机坐标系,所以它们的深度图是不一样的。

对于极线像对左视图某像素ppp,通过单应变换 HHH 转换到原左视图上,得到原图上的像素坐标 qqq。将ppp的相机坐标系坐标通过一个旋转 RRR 变换到原左视图的相机坐标系坐标,得到 qqq 的深度。HHH和RRR在极线校正步骤可以获取(极线校正的必然产出)。
本文链接地址:https://www.jiuchutong.com/zhishi/299862.html 转载请保留说明!

上一篇:大语言模型集成工具 LangChain(大语言模型集成工具)

下一篇:SpringBoot【基础篇】---- 基于SpringBoot实现SSMP整合(springboot基本结构)

  • 联通app怎么解绑副卡(联通app怎么解绑亲情号)

    联通app怎么解绑副卡(联通app怎么解绑亲情号)

  • 真我gtneo2有3.5mm耳机孔吗(真我gtneo2有3.5耳机孔吗)

    真我gtneo2有3.5mm耳机孔吗(真我gtneo2有3.5耳机孔吗)

  • 怎么让亲属卡不优先扣款(怎么让亲属卡不扣除零钱通的钱)

    怎么让亲属卡不优先扣款(怎么让亲属卡不扣除零钱通的钱)

  • 华为mate30自带手机壳吗(华为mate30自带手机膜吗)

    华为mate30自带手机壳吗(华为mate30自带手机膜吗)

  • word两栏排版怎么设置(word 两栏排版)

    word两栏排版怎么设置(word 两栏排版)

  • 华为mate30送的是什么耳机(华为mate30赠送礼包)

    华为mate30送的是什么耳机(华为mate30赠送礼包)

  • 怎么看微信是否在电脑上登录(怎么看微信是否被屏蔽)

    怎么看微信是否在电脑上登录(怎么看微信是否被屏蔽)

  • 电话被拉黑能收到信息吗(电话被拉黑能收到提示吗)

    电话被拉黑能收到信息吗(电话被拉黑能收到提示吗)

  • 无线反充是什么意思(无线反充是支持哪些手机)

    无线反充是什么意思(无线反充是支持哪些手机)

  • 耳机3.5mm是什么意思(耳机的3.5mm)

    耳机3.5mm是什么意思(耳机的3.5mm)

  • 美版max支持电信吗(美版支持电信嘛)

    美版max支持电信吗(美版支持电信嘛)

  • ipad5代和air1的区别(ipad5代和ipad air)

    ipad5代和air1的区别(ipad5代和ipad air)

  • hd在手机上是什么意思(手机上显示是什么意思)

    hd在手机上是什么意思(手机上显示是什么意思)

  • 在windows中桌面是指(在windows中桌面背景设置可以使用数码相机拍摄的照片)

    在windows中桌面是指(在windows中桌面背景设置可以使用数码相机拍摄的照片)

  • 为什么airpods的耳机一直闪蓝光(为什么AirPods的灯一直闪)

    为什么airpods的耳机一直闪蓝光(为什么AirPods的灯一直闪)

  • 小米9的超级夜景怎么开(小米九夜间模式怎么开)

    小米9的超级夜景怎么开(小米九夜间模式怎么开)

  • 电脑运行命令怎么打开(电脑运行命令怎么输入)

    电脑运行命令怎么打开(电脑运行命令怎么输入)

  • 手机怎么更换ip地址

    手机怎么更换ip地址

  • 抖音里逗拍怎么找(抖音上逗拍咋弄的)

    抖音里逗拍怎么找(抖音上逗拍咋弄的)

  • 台式电脑微信摄像头怎么开(台式电脑微信摄像头)

    台式电脑微信摄像头怎么开(台式电脑微信摄像头)

  • 手机qq的账号怎么删除(手机qq账号怎么退出登录)

    手机qq的账号怎么删除(手机qq账号怎么退出登录)

  • qq删了好友对方知道吗(qq删了好友对方能看到我的动态吗)

    qq删了好友对方知道吗(qq删了好友对方能看到我的动态吗)

  • 为什么ps图片变黑白(为什么ps的照片变模糊了)

    为什么ps图片变黑白(为什么ps的照片变模糊了)

  • qq人工服务电话是多少(qq人工服务电话多少)

    qq人工服务电话是多少(qq人工服务电话多少)

  • 栈的运算遵循什么原则(栈的运行)

    栈的运算遵循什么原则(栈的运行)

  • u盘用手机能下载歌吗(u盘用手机能下软件吗)

    u盘用手机能下载歌吗(u盘用手机能下软件吗)

  • 一起爬山吗?《隐秘的角落》为什么译成Cat's Cradle?(你要和我一起爬山吗)

    一起爬山吗?《隐秘的角落》为什么译成Cat's Cradle?(你要和我一起爬山吗)

  • 发票可不可以盖财务专用章
  • 一次性发放年终奖怎么税务筹划
  • 大凭证小凭证
  • 收购票怎么做会计分录
  • 备用金没有发票抵消违法吗
  • 普通折叠发票代码是几位数
  • 工商公示纳税总额包含个税吗
  • 返利回收期怎么计算
  • 委托销售怎么做分录
  • 年内累计增量和年度增量计算公式
  • 客户方流水号是什么
  • 汇算所得税中“以前年度多缴的所得税额在本年抵减额”怎么填 ?
  • 2017 160号文件
  • 自用房屋的房产税怎么缴纳
  • 纳税申报方式怎么修改
  • 基本账户代发代扣怎么操作
  • 同业清算互联前置 骗局
  • 开票系统维护费必须要交吗
  • 管理费用职工福利费
  • 预提费用年底必须结转吗
  • 子公司是否可以共享总公司的资质
  • 旅行社开的发票是否都要差额征税
  • 会计分录是怎么样的
  • php面向对象优点,缺点
  • 如何通过路由器查看宽带账号密码
  • 自创商誉是否能入账
  • PHP:oci_fetch_assoc()的用法_Oracle函数
  • 公司收入没有进项
  • 增值税进项税额属于什么会计科目
  • 发票报销的账务怎么处理
  • 办公用品开发票有哪些
  • php 无限级分类
  • yaf框架优缺点
  • 利用matlab作图
  • 企业发生的利得或损失应计入企业的营业外收支
  • vue学起来困难吗
  • 《一文搞懂IoU发展历程》GIoU、DIoU、CIoU、EIoU、αIoU、SIoU
  • php搜索代码
  • 多交增值税计入什么科目
  • 施工企业的人工费占比
  • 应付工资怎么记账
  • 土地租赁费计入哪个科目
  • 经营性现金流量为什么要加上折旧
  • 如果删除申报记录会怎么样
  • 个体工商户经营所得税税率表2023年
  • 开票软件里税收分类编码在哪更新
  • 计提费用收到发票怎么做
  • 加油卡充值可以开增值税专用发票吗
  • 承租人融资租赁会计账务处理
  • 盈余公积提取多了
  • 商贸公司批发零食怎么样
  • 关于发票冲账应该怎么写
  • 应收账款平账怎么处理
  • 公司对员工罚款怎么处理
  • 购买材料预付定金填什么凭证
  • 月末都应该计提哪些税费
  • 展位费按多少税率
  • 营改增 交通运输
  • 数字证书限额多少
  • 食堂没发票如何记账
  • mysql子句
  • centos虚拟机怎么用
  • 远程连接局域网内的电脑
  • 如何创建ubuntu安装教程
  • 光盘安装系统怎么操作
  • win8系统升级
  • xp任务栏靠右怎么调回来
  • win10 11月累计补丁KB3097877更新后导致应用崩溃该怎么办?
  • linux修改服务器ip地址
  • oeloader.exe - oeloader是什么进程 有什么用
  • 微信怎么导入主题模块
  • Android:Activity+Fragment及它们之间的数据交换(一)
  • shell提示
  • [置顶]游戏名:chivalry2
  • js中的array数组有什么缺点
  • 安卓模拟器比手机快吗
  • 做网页的流程与步骤
  • 云税票管家是什么软件
  • 特价机票包含燃油费和机场建设费吗
  • 房屋赠与给子女要交多少税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设