在 OpenCV 中,我使用的是 Charuco 板,已校准相机,并使用 SolvePnP 获取 rvec 和 tvec。(类似于示例代码)。我正在使用一个固定板,在围绕板旋转的圆形钻机上带有一个摄像头。我是一个菜鸟,所以如果这是我想念的简单的东西,请多多包涵。
我知道我可以使用 Rodrigues() 从 rvec 获取板方向的 3x3 旋转矩阵,并且我可以使用 -Rt() * tvec(在 c++ 中)将 tvec 值转换为世界坐标。
然而,据我所知,这个 3x3 旋转 R 给出了电路板相对于相机的方向,所以它不是很需要。我想要相机本身的旋转,它从 R 偏移(我认为)tvec 和相机空间中 z 轴之间的角度。(因为相机并不总是指向棋盘原点,而是总是指向相机空间中的 z 轴)。这个对吗?
如何找到额外的旋转偏移并将其转换为 3x3 旋转矩阵,我可以将其与 R 结合以获得实际的相机方向?
谢谢!