Python 如何基于外部参数确定相机姿态

Python 如何基于外部参数确定相机姿态,python,opencv,camera-calibration,Python,Opencv,Camera Calibration,大家好 我目前正在研究多摄像机校准的问题。有一点我还没有理解 假设我用N幅图像分别校准了我的相机,在这些图像上可以在同一视野的不同位置和方向上看到棋盘格。校准后,我得到每个摄像机的内在参数。此外,我还得到了每个图像的外部参数rvec和tvec。现在,我想确定每个摄影机姿势wrt到任意世界坐标,然后使用一个摄影机作为其他摄影机的参考。在这一点上出现了一些问题: 在进一步的过程中,我应该使用哪种rvec和tvec 我是否需要平均rvec和tvec以尽可能准确地确定相机姿势 我希望有人能给我一些建

大家好

我目前正在研究多摄像机校准的问题。有一点我还没有理解

假设我用N幅图像分别校准了我的相机,在这些图像上可以在同一视野的不同位置和方向上看到棋盘格。校准后,我得到每个摄像机的内在参数。此外,我还得到了每个图像的外部参数rvec和tvec。现在,我想确定每个摄影机姿势wrt到任意世界坐标,然后使用一个摄影机作为其他摄影机的参考。在这一点上出现了一些问题:

  • 在进一步的过程中,我应该使用哪种rvec和tvec

  • 我是否需要平均rvec和tvec以尽可能准确地确定相机姿势


  • 我希望有人能给我一些建议。

    rvecs和TVEC是根据棋盘定义的坐标系。因此,如果需要全局坐标系,请根据该坐标系选择对象坐标。例如,如果第一个棋盘角点是点(0,0,0),并且yoz在全局坐标系的x方向上移动棋盘100个单位,则必须将角点坐标更改为(100,0,0)。在这种情况下,您的rvecs和TVEC将是每个样本的全局坐标系的相机外部wrt。目前,它们是在不同的坐标系下工作的。一种可能更简单的方法是只使用校准过程中的内部函数。然后将solvePnp函数与另一个校准图案位置一起使用,以获得该图案位置的(反转)相机姿势wrt,该位置应为您的全局坐标系位置。