估算真实相机的世界位置

时间:2018-03-17 11:49:10

标签: python-3.x opencv geometry camera-calibration

我已经在stackoverflow和OpenCV Q / A上阅读了很多问题,但我仍然无法解决我的问题。

我需要估算相机的世界坐标。这是我的工作流程:

  • 首先,我需要校准我的相机。为了加快速度,我使用的是虚拟摄像头。因此我渲染了一些图像。这是一个例子:

    enter image description here

    我已经完成了10个。既然是CG摄像头,我已经知道了它的所有参数,但该项目最终会使用真正的摄像头,所以我需要校准过程。 要校准我的相机,我使用cv2.calibrateCamera()。这个功能给了我:

    • 相机矩阵

    • 失真

    • rvecs

    • tvecs

    矩阵相机没问题,因为它的值与我的虚拟相机相匹配。

  • 现在我想看看我是否可以使用与图像D相关的tvecrvec估算相机在图像D中的位置。为此,我和#39;我在做:

    • 获取旋转矩阵R:cv2.Rodrigues(rvec, R)

    • 使用C = - np.matmul(R.T, tvec)

    • 获取相机的位置

不幸的是,位置C完全不同于3D软件中相机的位置。

最后,我不知道如何使用rvec来估计相机的旋转,以便它以与虚拟相机在3D软件中相同的方式看到棋盘图案。

0 个答案:

没有答案