双目视觉下空间坐标计算matlab,双目视觉下空间坐标计算 opencv+ 个人理解
简单的理解思路:(世界坐标系固定到左目)
空间中一点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+ 个人理解相关推荐
- 科学计算matlab尔雅答案,科学计算与MATLAB语言2021尔雅答案大全
A.B两点间的电压UAB等于()所做的功.. "两优取重.两劣取轻"的原则是()提出的. 有关语言性沟通交流技巧中哪项正确() 选用车辆齿轮油时,要根据()选择黏度级别 单相桥式整 ...
- 【极坐标下牛顿—拉夫逊潮流计算(matlab版+python版)】
程序名称## 极坐标下牛顿-拉夫逊潮流计算(matlab版+python版) 程序功能(对象) 适用于任意大小的纯交流电网,支持节点和支路的增删: 适用于接入多个风电.光伏等分布式电源: 子函数包含: ...
- matlab腔内光子寿命,mcFORnp matlab环境下,利用蒙特卡洛模拟光子包在生物组织内的光路传输 271万源代码下载- www.pudn.com...
文件名称: mcFORnp下载 收藏√ [ 5 4 3 2 1 ] 开发工具: matlab 文件大小: 215 KB 上传时间: 2014-12-29 下载次数: 8 提 供 者: 徐某 ...
- matlab 图像矢量量化,MATLAB环境下基于矢量量化的说话人识别系统(1)
第21卷第6期湖 北 工 业 大 学 学 报2006年12月 Vol.21No.6 Journal of Hubei Univer sity of Technology Dec.2006 [收稿日期] ...
- 在MATLAB环境下使用深度学习网络DeepLabV3+进行语义分割(云图分割)
摘要:本文主要讲述在MATLAB2020a环境下利用深度神经网络DeepLabV3+进行语义分割,分割感图像中的云层.讲述了:1.训练数据的获取.训练集制作:2.DeepLabV3+模型的构建:3.D ...
- matlab中的addemup是什么,毕业论文-rsa密码体制的设计及matlab语言下的实现
四川理工学院毕业论文RSA密码体制的设计及MATLAB语言下的实现学生XXX学号06121020230专业数学与应用数学班级20062指导教师张金山四川理工学院理学院二O一O年六月摘要RSA算法是一个 ...
- matlab 高斯信道,基于MATLAB高斯信道下的16QAM误码率分析的设计 通信系统课程设计报告.doc...
基于MATLAB高斯信道下的16QAM误码率分析的设计 通信系统课程设计报告 目录 引言---------------------- 2 一.相关知识介绍---------------- 2 (1)Q ...
- [python skill]利用python计算T分布下的置信区间
上篇博文中的置信区间计算代码在使用过程中并不准确,本人没并没有搞清楚原因 - - 求大神解答: import numpy as np from scipy import statsX1=np.arra ...
- ES分组聚合:计算每个tag下的商品数量且某个filed包含指定关键字,分组,平均,每个tags下的平均价格,排序,指定范围区间
1.第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search {"aggs": {"group_by_tags" ...
最新文章
- servlet response 中文乱码
- 使用WCF传输DataTable:DataTable和Xml格式的字符串相互转换(C#)
- 【理论】红黑树的实现原理
- The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xm
- JUnit 5 –设置
- python文件命名 数字_python 批量修改数字类的文件名
- protobuf(Protocol Buffers)java初体验
- 在JavaScript中仿真Java的enum
- scratch课程案例——漫天飞雪
- 转载:camera - 滤镜格式 (原生RGGB、RCCB、RCCC、RGB-IR和Monochrome(单色传感器))
- 数据可视化|用热力地图进行数据分析
- 决策树入门案例:泰坦尼克号幸存者预测
- 搜狗的2019年:录音笔开辟智能硬件新战场,语言AI要在C端找准点
- 一款好用的基于vue的录屏插件recordrtc,拿走不谢
- ᑋᵉᑊᑊᵒ ᵕ̈ᰔᩚ
- 2019.01.12 Presto中国区用户线下Meetup
- MOOC 浙江大学 翁恺 程序设计入门C GPS数据处理
- Unity 3D 导航系统||Unity 3D 障碍物
- 魅族手机可安装鸿蒙操作系统吗,国产要抱团取暖?魅族、中兴、小米等手机可能适配华为鸿蒙系统...
- 数据库建立索引常用的原则
热门文章
- 2022年全球市场静脉注射用包装总体规模、主要生产商、主要地区、产品和应用细分研究报告
- 新品上市调查方案(2)-产品测试目的
- 【Unity3D开发小游戏】《2D乒乓球游戏》Unity开发教程
- SQL*LOADER错误总结
- java计算机毕业设计高校校园社交网络源程序+mysql+系统+lw文档+远程调试
- SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoade
- OpenGL图形编程项目实战-李婷婷,清华大学出版社
- 生成.tflite文件过程中遇到的问题及解决方案
- matlab帕累托分布函数,Matlab里面的重尾分布
- Linux常用指令(超详细整理)