使用已知的摄像机位置和矩阵查找3D对象位置

时间:2017-11-30 01:31:45

标签: opencv image-processing 3d computer-vision camera-calibration

enter image description here

问题在于: 我有两个相机在看同一个3D物体。我在两个相机图像中有对象中心的像素坐标。 我知道3D世界中的相机位置和姿势。 两个摄像机的摄像机矩阵都经过校准。

有了所有这些信息,我如何找到对象的3D世界位置坐标?

挑战: 我没有传感器信息(传感器高度,单位为mm),这有助于更准确地估计位置。 物体很小并且远离摄像机位置,这使得定位估计不可靠。直观地说,使用多个摄像头(查看相同的对象)信息应该会有所帮助,但在这种情况下,附近有多个对象实例。所以这增加了问题。使用SfM不起作用,因为小像素区域的特征信息稀疏。

1 个答案:

答案 0 :(得分:2)

如果你为对象1和2调用对象中心的P1和P2,你必须将你的2个点从图像空间转换为世界空间(你可以通过投影矩阵,或做一点点泰勒斯几何与相机参数)。

然后,你的物体在世界中的位置只是线(C1 P1)和(C2 P2)的交点,其中C1和C2是两个相机的世界空间中的世界位置。

在一个理想的世界中,这一点存在并且是独一无二的。

希望有所帮助。