简单的理解思路:(世界坐标系固定到左目)

空间中一点P,在左目像素坐标(u1,v1),转成mm为单位的坐标(x1,y1),在左目坐标系下建立过(x,y)的直线lineL;

同样的思路,空间中同一点P,在右目坐标系下建立,过(x2,y2)的直线lineR,LineR上的点要经过(R,T)变换到左目坐标系下;

求直线lineL与lineR的交点 就是P的坐标。

摄像机矩阵由内参矩阵和外参矩阵组成,对摄像机矩阵进行QR分解可以得到内参矩阵和外参矩阵。

内参包括焦距、主点、倾斜系数、畸变系数

(1)

其中,fx,fy为焦距,一般情况下,二者相等,x0、y0为主点坐标(相对于成像平面),s为坐标轴倾斜参数,理想情况下为0

外参包括旋转矩阵R3×3、平移向量T3×1,它们共同描述了如何把点从世界坐标系转换到摄像机坐标系,旋转矩阵描述了世界坐标系的坐标轴相对于摄像机坐标轴的方向,平移向量描述了在摄像机坐标系下空间原点的位置。

标定双目后,首先要根据其畸变系数来校正原图,可以参考

http://blog.csdn.net/qq_15947787/article/details/51471535

有矫正的代码::::参见后面的链接

校正完成后就可以进行坐标计算了,分两种

(1)世界坐标系——>像面坐标系

首先将世界坐标系——>摄像机坐标系

已知某点在世界坐标系中的坐标为(Xw, Yw, Zw),由旋转和平移矩阵可得摄像机坐标系和世界坐标系的关系为

(2)

然后将摄像机坐标系——>像面坐标系

(3)

其中[uv1]T为点在图像坐标系中的坐标,[XcYc Zc1]T为点在摄像机坐标系中的坐标,K为摄像机内参数矩阵。

这样最终可以得到:

(4)

(2)像面坐标系——>世界坐标系

光轴会聚模型:

对于两相机分别有:

(5)

(6)

公式56,左边Z应分别为Zc1,Zc2

其中,

(7)

这样可以把(5)(6)写成

(8)

公式8左边Z应为Zc1

(9)

公式9左边Z应为Zc2

将(8)(9)整理可以得到

注意Zc1不等于Zc2.。 通过(8)消去Zc1得到(10)中的前两个等式;通过(9)消去Zc2得到(10)中的后两个等式;

(10)

采用最小二乘法求解X,Y,Z,在opencv中可以用solve(A,B,XYZ,DECOMP_SVD)求解(10)

A为超定方程的等式左边的系数矩阵,B为等式右边的矩阵。因为是超定方程只能求出最小二乘解。

matlab或者opencv标定完都是在左相机上建立世界坐标系,于是上面代码对应的改为:

//左相机旋转矩阵

floatleftRotation[3][3] = {1,0,0,  0,1,0,  0,0,1 };

//左相机平移向量

floatleftTranslation[1][3] = {0,0,0};

有计算的代码::::参见后面的链接

代码链接:https://blog.csdn.net/qq_15947787/article/details/53366592

双目视觉下空间坐标计算matlab,双目视觉下空间坐标计算 opencv+ 个人理解相关推荐

  1. 科学计算matlab尔雅答案,科学计算与MATLAB语言2021尔雅答案大全

    A.B两点间的电压UAB等于()所做的功.. "两优取重.两劣取轻"的原则是()提出的. 有关语言性沟通交流技巧中哪项正确() 选用车辆齿轮油时,要根据()选择黏度级别 单相桥式整 ...

  2. 【极坐标下牛顿—拉夫逊潮流计算(matlab版+python版)】

    程序名称## 极坐标下牛顿-拉夫逊潮流计算(matlab版+python版) 程序功能(对象) 适用于任意大小的纯交流电网,支持节点和支路的增删: 适用于接入多个风电.光伏等分布式电源: 子函数包含: ...

  3. matlab腔内光子寿命,mcFORnp matlab环境下,利用蒙特卡洛模拟光子包在生物组织内的光路传输 271万源代码下载- www.pudn.com...

    文件名称: mcFORnp下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 215 KB 上传时间: 2014-12-29 下载次数: 8 提 供 者: 徐某 ...

  4. matlab 图像矢量量化,MATLAB环境下基于矢量量化的说话人识别系统(1)

    第21卷第6期湖 北 工 业 大 学 学 报2006年12月 Vol.21No.6 Journal of Hubei Univer sity of Technology Dec.2006 [收稿日期] ...

  5. 在MATLAB环境下使用深度学习网络DeepLabV3+进行语义分割(云图分割)

    摘要:本文主要讲述在MATLAB2020a环境下利用深度神经网络DeepLabV3+进行语义分割,分割感图像中的云层.讲述了:1.训练数据的获取.训练集制作:2.DeepLabV3+模型的构建:3.D ...

  6. matlab中的addemup是什么,毕业论文-rsa密码体制的设计及matlab语言下的实现

    四川理工学院毕业论文RSA密码体制的设计及MATLAB语言下的实现学生XXX学号06121020230专业数学与应用数学班级20062指导教师张金山四川理工学院理学院二O一O年六月摘要RSA算法是一个 ...

  7. matlab 高斯信道,基于MATLAB高斯信道下的16QAM误码率分析的设计 通信系统课程设计报告.doc...

    基于MATLAB高斯信道下的16QAM误码率分析的设计 通信系统课程设计报告 目录 引言---------------------- 2 一.相关知识介绍---------------- 2 (1)Q ...

  8. [python skill]利用python计算T分布下的置信区间

    上篇博文中的置信区间计算代码在使用过程中并不准确,本人没并没有搞清楚原因 - - 求大神解答: import numpy as np from scipy import statsX1=np.arra ...

  9. ES分组聚合:计算每个tag下的商品数量且某个filed包含指定关键字,分组,平均,每个tags下的平均价格,排序,指定范围区间

    1.第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search {"aggs": {"group_by_tags" ...

最新文章

  1. servlet response 中文乱码
  2. 使用WCF传输DataTable:DataTable和Xml格式的字符串相互转换(C#)
  3. 【理论】红黑树的实现原理
  4. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xm
  5. JUnit 5 –设置
  6. python文件命名 数字_python 批量修改数字类的文件名
  7. protobuf(Protocol Buffers)java初体验
  8. 在JavaScript中仿真Java的enum
  9. scratch课程案例——漫天飞雪
  10. 转载:camera - 滤镜格式 (原生RGGB、RCCB、RCCC、RGB-IR和Monochrome(单色传感器))
  11. 数据可视化|用热力地图进行数据分析
  12. 决策树入门案例:泰坦尼克号幸存者预测
  13. 搜狗的2019年:录音笔开辟智能硬件新战场,语言AI要在C端找准点
  14. 一款好用的基于vue的录屏插件recordrtc,拿走不谢
  15. ᑋᵉᑊᑊᵒ ᵕ̈ᰔᩚ
  16. 2019.01.12 Presto中国区用户线下Meetup
  17. MOOC 浙江大学 翁恺 程序设计入门C GPS数据处理
  18. Unity 3D 导航系统||Unity 3D 障碍物
  19. 魅族手机可安装鸿蒙操作系统吗,国产要抱团取暖?魅族、中兴、小米等手机可能适配华为鸿蒙系统...
  20. 数据库建立索引常用的原则

热门文章

  1. 2022年全球市场静脉注射用包装总体规模、主要生产商、主要地区、产品和应用细分研究报告
  2. 新品上市调查方案(2)-产品测试目的
  3. 【Unity3D开发小游戏】《2D乒乓球游戏》Unity开发教程
  4. SQL*LOADER错误总结
  5. java计算机毕业设计高校校园社交网络源程序+mysql+系统+lw文档+远程调试
  6. SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoade
  7. OpenGL图形编程项目实战-李婷婷,清华大学出版社
  8. 生成.tflite文件过程中遇到的问题及解决方案
  9. matlab帕累托分布函数,Matlab里面的重尾分布
  10. Linux常用指令(超详细整理)