我已经在stackoverflow和OpenCV Q / A上阅读了很多问题,但我仍然无法解决我的问题 .
我需要估计相机的世界坐标 . 这是我的工作流程:
- 首先,我需要校准我的相机 . 为了加快速度,我正在使用虚拟相机 . 因此我渲染了一些图像 . 这是一个例子:
我've rendered 10 of them. Since it a CG camera, I already know all its parameters, but the project will eventually use real camera, so I need to calibration process. To calibrate my camera, I' m使用 cv2.calibrateCamera()
. 这个功能给了我:
-
相机矩阵
-
扭曲
-
rvecs
-
tvecs
矩阵相机没问题,因为它的值与我的虚拟相机相匹配 .
-
现在我想看看是否可以使用与图像D相关的
tvec
和rvec
估算相机在图像D中的位置 . 为此,我正在做: -
获取旋转矩阵R:
cv2.Rodrigues(rvec, R)
-
获取相机的位置:
C = - np.matmul(R.T, tvec)
不幸的是,位置C完全不同于3D软件中相机的位置 .
最后,我不知道如何使用 rvec
估计相机的旋转,以便它以与虚拟相机在3D软件中相同的方式看到棋盘图案 .