从图像坐标获取对象的世界坐标

时间:2015-06-24 08:40:04

标签: c++ opencv computer-vision signal-processing camera-calibration

我一直在关注this文档以使用OpenCV。在下面的公式中,我已经成功地计算了内部矩阵和外部矩阵(我已经使用solvePnP()过程来获得这些矩阵)。因为,物体位于地面上,我已经用Z = 0代替了。然后,我刚刚移除了外在矩阵的第三列并将其与内部矩阵相乘以获得3X3投影矩阵。我把它反过来,然后乘以图像坐标,即su,sv和s Formula

然而,世界坐标中的所有点似乎都偏离了1毫米或更小,因此我的坐标不太准确。有谁知道我可能会出错?

由于

1 个答案:

答案 0 :(得分:0)

相机校准可能总是有些不准确,因为对于超过2个校准图像而不是从校准图像获得的方程系统的真正解决方案,您将获得具有最小误差的解决方案。

同样适用于cv::solvePnP()。您可以使用三种方法之一来优化给定方程式系统的许多可能解决方案。

我不明白你是如何从cv::solvePnP()获得内在和外在矩阵的,它用于计算相机坐标系中物体的旋转和平移。

你能做什么: