视差图转换为深度图的实现

本文介绍了视差图转换为深度图的原理,并提供了具体的代码实现。根据双目相机基线和焦距,推导出深度Z与视差d的关系。在清楚原理后,给出了求解深度图的代码示例,适用于计算机视觉和SLAM领域的研究。
摘要由CSDN通过智能技术生成

视差图转换为深度图

网上关于视差图转换为深度图的博客较多,但缺少具体实现。我根据原理和网上的一些参考自己实现了一个版本,做个记录,也希望能供大家参考

1 原理

根据视差图得到深度的原理很简单,示意如下:在这里插入图片描述
图中b为双目相机的基线,一般需要自己测量(如果只需要相对深度的话可以自己取值)。f表示相机焦距(通常相机焦距有fx,fy,但由于视差只在x方向,因此直接取fx为f即可)。可以得到深度Z与视差d的关系为:
式1
式1
具体推导可以参考推导过程。需要注意的是,d的单位是像素pixel,而其他几个变量的单位是mm,这看似单位不匹配(也是我一开始的困惑所在),但实际上是没有问题的。可以参考《视觉slam十四讲》的相机模型构建,相机成像过程如下:
在这里插入图片描述
主要分为:
(1)实际空间点到物理成像平面上的投影;
(2)物理成像平面转换到像素平面
这两个过程。(1)中物理成像平面上对应实际空间点(X,Y,Z)的点(X’,Y’)是具有物理尺度的,只不过进行了缩放:

X ′ = f ∗ X / Z X' = f*X/Z X=fX/Z
Y ′ = f ∗ Y / Z Y' = f*Y/Z Y=
  • 12
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值