[英]Calculating 3D world point
我是OpenCV的初学者,我想从2D(投影在图像上)找到3D点,并且知道点中三个世界坐标中的两个。
问题变体#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.