由左右相机像素点坐标反求世界坐标点
来源:互联网 发布:java 7 openjdk amd64 编辑:程序博客网 时间:2024/06/04 19:05
最小二乘法求解三维坐标值
下面我们来具体介绍求解三维点坐标的算法。在进行讨论之前,我们要明确一下几点基本假设:空间任意点P在两个摄像机C1与C2上的图像点平p1与p2已经从两个图像中分别检测出来。即已知p1与p2为空间同一点P的对应点。至于对应点是如何找到的,这属于图像配准问题。还有一个假设就是,摄像机C1与C2已标定,他们的投影矩阵分别为M1与M2,于是有:
其中,(u1,v1,1)与(u2,v2,1)分别为P1与P2点在各自图像中的图像齐次坐标;(X,y,Z,1)为P点在世界坐标系下的齐次坐标;mijk为Mk的第i行第j列元素。式(4.1)与式(4.2)消去Zc1与Zc2得到关于X,Y,Z的四个线性方程:
由于空间点P是O1p1与O2p2的交点,它必然同时满足式(4.3),式(4.4),我们可以联立这四个式子,从而求出P点的坐标(X,Y,Z)。四个方程,三个未知数,也就是说这个方程组只有三个独立的方程,这是因为我们已经假设P1与P2点是空间同一点P的对应点,因此已经假设了直线O1p1与O2p2一定相交,或者说,这四个方程必定有解,而且解是唯一的。而实际应用中,由于数据总是有噪声的,我们可以用最小二乘法求出P的三维点坐标(X,Y,Z)。
下面我们来具体介绍求解三维点坐标的算法。在进行讨论之前,我们要明确一下几点基本假设:空间任意点P在两个摄像机C1与C2上的图像点平p1与p2已经从两个图像中分别检测出来。即已知p1与p2为空间同一点P的对应点。至于对应点是如何找到的,这属于图像配准问题。还有一个假设就是,摄像机C1与C2已标定,他们的投影矩阵分别为M1与M2,于是有:
其中,(u1,v1,1)与(u2,v2,1)分别为P1与P2点在各自图像中的图像齐次坐标;(X,y,Z,1)为P点在世界坐标系下的齐次坐标;mijk为Mk的第i行第j列元素。式(4.1)与式(4.2)消去Zc1与Zc2得到关于X,Y,Z的四个线性方程:
由于空间点P是O1p1与O2p2的交点,它必然同时满足式(4.3),式(4.4),我们可以联立这四个式子,从而求出P点的坐标(X,Y,Z)。四个方程,三个未知数,也就是说这个方程组只有三个独立的方程,这是因为我们已经假设P1与P2点是空间同一点P的对应点,因此已经假设了直线O1p1与O2p2一定相交,或者说,这四个方程必定有解,而且解是唯一的。而实际应用中,由于数据总是有噪声的,我们可以用最小二乘法求出P的三维点坐标(X,Y,Z)。
阅读全文
0 0
- 由左右相机像素点坐标反求世界坐标点
- 求平面点坐标
- 【待整理】世界坐标,相机坐标,图像坐标(像平面坐标,像素坐标)
- 由在三点坐标求三角形面积
- 像素坐标、相机坐标、世界物理坐标之间的坐标转换条件。
- C#以像素坐标点转以自定义坐标点
- 解决Unity鼠标坐标点转成世界坐标系坐标点
- ios 点坐标、渲染像素、物理像素、设备像素
- Unity3D 世界坐标上一个点对应UI上一个点
- 已知三点坐标,求外接圆圆心坐标与半径。
- 根据四个点坐标求两个直线的交叉点坐标
- 已知三点坐标求三角形面积
- 枚举类型求点的对称坐标
- 已知两点坐标求等边三角形另一点
- 已知等边三角形两点,求第三点坐标
- U3D屏幕坐标,世界坐标,像素坐标之间的关系
- Unity3D将屏幕坐标上的点转换为世界坐标中的点
- C# 求点在直线的投影点坐标
- 公司党建在线视频学习
- JAVA第12周作业1
- 【Scikit-Learn 中文文档】神经网络模块(监督的)- 监督学习
- DevExpress WidgetView动态创建Document
- git pull遇到错误:error: Your local changes to the following files would be overwritten by merge
- 由左右相机像素点坐标反求世界坐标点
- mt2523 IOT SDK是否支持C标准库函数malloc家族
- MR--RecordReader
- hibernate_day04_07_hql查询(聚集函数使用)
- malloc、calloc、realloc的区别
- vi/vim 替换
- android精品源码,下拉刷新效果高德地图五子棋游戏定制日历全民TV源码
- Java SpringMVC POI上传excel并读取文件内容
- 【iOS秘籍】-下载历史版本App超详细教程