双目视觉计算三维坐标

news2025/1/11 18:32:47

一、原理

双目视觉的基本原理,以及公式推导,我参考的b站上的视频,链接如下:

2-线性相机模型-Linear Camera Model-Camera Calibration_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1Q34y1n7ot/?p=2&spm_id_from=333.880.my_history.page.click&vd_source=3b6cdacf9e8cb3171856fe2c07acf498如果只学习双目视觉,建议阅读前五个视频。视频中有的翻译不太好,但是可以意会出来,哈哈哈~。视频中的讲解浅显易懂,但是我觉得有一处不对,下面写一份我的理解:

如上图所示, (xw,yw,zw)是世界坐标系,(xc,yc,zc)是相机坐标系,(ox,oy)是光心坐标,(u,v)是摄像机内部影像的坐标系。三个坐标系的方向可以随意决定,都可以通过旋转矩阵、平移矩阵进行转换。假设上图中三个坐标系之间相互平行!!!

P是三维空间中的任意一点,在摄像机坐标系下,P点的坐标为(xc,yc,zc),P在摄像机内部的影像坐标是(xi,yi),根据相似三角形原理可知:\frac{x_{i}}{f}=-\frac{x_{c}}{z_{c}}\frac{y_{i}}{f}=-\frac{y_{c}}{z_{c}}。我认为,视频中的推导是错误的,f表示焦距,一定是正值。等式左右两边少了一个正负号。从而可以推出(xi,yi),实现了3d坐标到2d坐标的转换。

以上计算的2d坐标,是以光心原点,经过平移转换,可以转化成(u,v)坐标系。

两个相机就可以确定三维坐标了,以下是原理图。(x,y,z)是在左相机参考系下的坐标,(b,0,0)是右相机在左相机参考系下的坐标。

双目相机可以推导出来2d坐标到3d的反向转换 :

以上公式计算出来的坐标,是以左相机为参考系的三维坐标。经过平移、旋转可以转化成世界坐标系下的坐标。

二、细节问题

  • 将相机三维坐标(xc,yc,zc)转化成世界坐标(xw,yw,zw)时,注意x轴y轴z轴的方向。相机的x轴坐标可能对应的是世界z轴坐标!!!可以通过旋转矩阵进行转化。
  • 上图中,摄像机内部的影像,与实际我们看到的图像,呈正反颠倒的关系!!!

三、实现步骤

智在飞翔综合赛中,双目视觉相机的参数如下:

  1. 计算左右照片中,圆环圆心的2d坐标(xl,yl)、(xr,yr)
  2. 将上述两个坐标转化成(u,v)坐标系。(ul,vl)=(xl,480-yl)、(ur,vr)=(xr,480-yr)。
  3. 通过上述公式,计算出左相机坐标系下的3d坐标(x,y,z)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1146987.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

链表加法与节点交换:数据结构的基础技能

目录 两两交换链表中的节点单链表加一链表加法使用栈实现使用链表反转实现 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点…

13年测试老鸟,性能压测-死锁定位分析/内存溢出实例(超详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 死锁问题定位与分…

0029Java程序设计-家政服务平台管理系统

文章目录 摘要目录系统设计开发环境 摘要 本文首先研究并介绍国内外目前的背景和现状,在此基础上给出论文的主要研究内容,其次,对家政服务平台管理系统的需求进行了分析。再次,对家政服务平台管理系统进行了总体设计,…

虚拟机安装详细步骤(简单版)

虚拟机作为工作以及学习的工具,是很多人必不可少的一款软件,今天就给大家讲一讲如何将虚拟机成功安装上系统,其中呢也将部分问题在文章中表达,因为很多人表示出现了一些问题,却没有办法解决,所以写了这一篇…

0032Java程序设计-基于JavaEE的智能化酒店点餐收款系统的设计与实现论文

文章目录 摘 要目录系统设计开发环境 摘 要 酒店点餐收款系统是为了实现酒店餐饮自动化管理而设计的,它完全取代了原来酒店餐饮管理一直使用的人工处理的工作方式,并且避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时…

给定两个单链表,编写算法找出两个链表的公共结点

给定两个单链表,编写算法找出两个链表的公共结点 算法思路: 如果两个链表有公共结点,那从某个公共结点开始,就两路并一路了,类似下图 知道这个性质之后我们就可以解决问题了,先判断出两个链表哪个是长链…

【Jenkins】新建任务FAQ

问题1. 源码管理处填入Repository URL,报错:无法连接仓库:Error performing git command: ls-remote -h https://github.com/txy2023/GolangLearning.git HEAD 原因: jenkins全局工具配置里默认没有添加git的路径,如果…

Openssl数据安全传输平台017:客户端在Linux上的编译与调试记录

文章目录 1 在windows上先预编译2 Centos上进入项目文件夹进行编译2.1 找不到protobuf的google文件夹2.2 找不到动态库ljson2.3 动态库软链接失效2.4 undefined reference to Json::Value::asString[abi:cxx11]() const![在这里插入图片描述](https://img-blog.csdnimg.cn/5a8e…

快递单号批量查询教程,掌握包裹动态,让你成为物流达人!

亲爱的读者们,你是否曾经为了追踪快递包裹而烦恼?是否曾经为了查询多个快递单号而感到繁琐?现在,我们为你带来一个高效便捷的解决方案——快递单号批量查询教程!让你轻松掌握包裹动态,成为物流达人&#xf…

【深入浅出】寄存器精讲第一期

🌈个人主页:聆风吟 🔥系列专栏:数据结构、算法模板、汇编语言 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️开篇1.1 🔔CPU 概述(简单了解&#xff09…

两数和的目标 python (初学者vs程序员)

题目描述 1)给定一个整数列表,在列表中,从前向后查找两个元素使其相加之和等于目标数,并返回两个整数在列表中的下标。如果没有符合条件的数字,输出False,本题假设题目的解唯一。‬‪‬‪‬‪‬‪‬‮‬‪…

07. 蜂鸣器

07. 蜂鸣器 硬件原理分析代码编写 硬件原理分析 此处为PNP型三极管,BEEP为低的时候三极管才会导通,也就是BEEP0时,蜂鸣器会叫。BEEP是通过SNVS_TAMPER1这个IO控制的 代码编写 将前面的bsp、imx6ul、obj和project拷贝过来 初始化SNVS_TAMPE…

首次cmake 多目录构建失败

新建test3目录,新建如下图空目录;前文有4个源码文件,2个h,2个cpp;把前文的cpp文件拷贝到src目录下,把h文件拷贝到include目录下;前文的CMakeLists.txt拷贝到test3目录下; 在src目录新…

基于小安派AiPi-Eye-S1的Nes游戏机

1.作品展示 作品功能可见以下B站视频 外壳可以使用灰太狼大佬提供的外壳STL文件。在嘉立创三维猴上打印(外壳12元快递6元)。 外壳从以下的帖子中获取: 模型分享 2.作品说明 2.1 硬件部分 硬件上使用到了AiPi-Eye-S1开发板以及3.5寸 240*3…

社恐了怎么办?如何改变社交恐惧症?

社恐这个词已经算是普及了,自嘲自己是社恐的人真的挺多的,好像一句我社恐了就能解析很多问题,其实真正的社恐远比我们想象的要痛苦多了,社恐能被更多人认识到本来是件好事,但是过于的用社恐来给自己贴标签,…

VBA技术资料MF75:测量所选单元格范围的高度和宽度

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

从InnoDB索引的数据结构,去理解索引

从InnoDB索引的数据结构,去理解索引 1、InnoDB 中的 BTree1.1、BTree 的组成1.2、BTree中的数据页 2、聚簇索引2.1、聚簇索引的特点2.2、聚簇索引的结构示例2.3、聚簇索引的优缺点 3、非聚簇索引3.1、非聚簇索引结构示例3.2、关于回表3.3、聚簇索引和非聚簇索引的区…

ALS算法在菜品智能推荐系统的应用

核心推荐模块的推荐算法是基于用户推荐模 型(user_model)协同过滤的矩阵分解过滤算法 ALS。其算法原理可叙述为: ALS收集大数据样本的用户评分喜好信息,训 练推荐模型,基于该模型进行协同过滤。 对于任意一个形如用户-…

记录几个常用的docker镜像

背景 Docker 部署有着非常多的优势,可以帮助提高开发、测试和部署的效率,降低成本,使应用更具可移植性和可扩展性,包括但不限于 标准化应用发布,跨平台和主机使用:Docker的镜像提供了标准化发布环境&…

基于引力搜索算法的无人机航迹规划-附代码

基于引力搜索算法的无人机航迹规划 文章目录 基于引力搜索算法的无人机航迹规划1.引力搜索搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用引力搜索算法来优化无人机航迹规划。 …