使用标记从单个img计算相机坐标

时间:2014-03-20 20:49:21

标签: camera augmented-reality homography

我的目标是使用平面标记计算相机的世界坐标 我校准了相机并研究了所有内部参数 标记是正方形。
看看我的illustration(很遗憾,我还不能在这里发布)。

{Xc,Yc,Zc} - 基于摄像机的坐标
{Xw,Yx,Zw} - 世界坐标

我的任务是计算{Xw,Yw,Zw} -basis中相机的坐标。
我只需要用一张照片就可以做到这一点。
实际上我需要为我收藏的每张照片做这件事。

我学习了射影几何理论。
我也实施了单应性计算 使用我在校准后知道的内在相机矩阵,我已经解决了线性方程组 并发现了外在矩阵。它是逆矩阵。 逆矩阵让我找到了我的相机的{Xw,Yw} - 坐标。解决方案看起来正确。我尝试了几张不同角度的照片。 但我无法计算Zw。

现在我并不感到问题有解决方案。 但增强现实应用程序解决了类似的问题。 他们计算标记顶点'坐标{Xc,Yc,Zc} -basis。 如果我能做到这一点,我也可以解决我的问题。

我试图调查ARToolKit实现,但我没有克服它。 我想了解实质内容,而不是使用任何库或现成的解决方案。

1 个答案:

答案 0 :(得分:1)

您的问题是4个共面点的PnP问题,您可以在其中检测标记角的投影点,并与标记的3d角对应。通常,角点在标记的坐标系中定义,因此形式为(X,Y,0)。

如果使用OpenCV,使用solvePnP()实现起来相当简单。

在此处查找示例(来自Mastering OpenCV书籍):

https://github.com/MasteringOpenCV/code/blob/master/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR/MarkerDetector.cpp

以及随附的说明: http://www.packtpub.com/article/marker-based-augmented-reality-on-iPhone-or-iPad

如果您想从单应性中找到姿势,请查看此前发布的文章: Computing camera pose with homography matrix based on 4 coplanar points