繁体   English   中英

计算3D世界点

[英]Calculating 3D world point

我是OpenCV的初学者,我想从2D(投影在图像上)找到3D点,并且知道点中三个世界坐标中的两个。

我有的:

  1. 校准相机(已知:内在参数矩阵,失真系数向量)
  2. 旋转矢量和平移矢量
  3. (u,v) - 图像上某点的坐标
  4. 一个点和一个未知的两个已知世界坐标

问题变体#1已知:X,Y未知:Z

问题变体#2已知:X,Z未知:Y

问题变体#3已知:Y,Z未知:X

如何找到第三个未知坐标? 可能吗?

对的,这是可能的。 考虑缺少非线性失真的简单情况。 令Ki为相机矩阵的倒数,以及世界原点的相机中心(即无旋转或平移)。 设p =(u,v,1)为均匀像素坐标。 然后通过像素的光线是:

s * P = Ki * p

其中s > 0是未知的比例。 但是s * P = [X, Y, Z] ,所以如果你知道X,Y或Z中的任何一个,你可以求解s并找到缺失的坐标。

对于非零旋转平移,将Ki替换为投影矩阵的倒数。 对于非零失真,将Ki替换为完全重投影方程的简单乘法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM