Python 使用两个非静态摄像机估计相对于固定点的三维对象位置
我正试图借助两个非静态摄像机(见附图)在3D中估计物体(标记M)的运动。除了移动标记M,场景中还有4个静态共面标记(m1、m2、m3和m4)。静态标记之间的绝对距离(以厘米为单位)是已知的 这两个摄像头可以四处移动,但相对固定。摄影机同时拍摄场景的图像。我可以从两个摄像头检测2D图像中的所有标记(静态和移动) 目标是计算M在3D中跨帧的运动。一种方法是假设m1是世界坐标系的原点(0,0,0),然后在两帧之间找到M(x,y,z)的三维位置,然后找到这两个位置之间的距离 因此,该问题解决为跨帧计算3D中M wrt到m1的位置。这意味着,自我运动(由相机引起的运动)在帧之间不会对M的位置产生影响,因为它是相对于m1的,m1是原点Python 使用两个非静态摄像机估计相对于固定点的三维对象位置,python,opencv,image-processing,computer-vision,triangulation,Python,Opencv,Image Processing,Computer Vision,Triangulation,我正试图借助两个非静态摄像机(见附图)在3D中估计物体(标记M)的运动。除了移动标记M,场景中还有4个静态共面标记(m1、m2、m3和m4)。静态标记之间的绝对距离(以厘米为单位)是已知的 这两个摄像头可以四处移动,但相对固定。摄影机同时拍摄场景的图像。我可以从两个摄像头检测2D图像中的所有标记(静态和移动) 目标是计算M在3D中跨帧的运动。一种方法是假设m1是世界坐标系的原点(0,0,0),然后在两帧之间找到M(x,y,z)的三维位置,然后找到这两个位置之间的距离 因此,该问题解决为跨帧计算
我希望有人能指导我使用OpenCV解决这个问题的正确方向。我将尝试以下方法:
您应该能够找到执行上述两个步骤的OpenCV函数。您有真实图像的代码和示例吗?感谢您的详细回复。我只是想澄清一件事。三角剖分后M的坐标是世界坐标系吗?或者我需要分别取旋转矩阵和平移矩阵的逆矩阵和负矩阵@Hannes Ovrent三角测量后M的坐标系取决于摄像机的坐标系。由于使用三维世界坐标获得摄影机姿势,因此它们将自动位于世界坐标系中。