我的目标是使用平面标记计算相机的世界坐标
我校准了相机并研究了所有内部参数
标记是正方形。
看看我的illustration(很遗憾,我还不能在这里发布)。
{Xc,Yc,Zc} - 基于摄像机的坐标
{Xw,Yx,Zw} - 世界坐标
我的任务是计算{Xw,Yw,Zw} -basis中相机的坐标。
我只需要用一张照片就可以做到这一点。
实际上我需要为我收藏的每张照片做这件事。
我学习了射影几何理论。
我也实施了单应性计算
使用我在校准后知道的内在相机矩阵,我已经解决了线性方程组
并发现了外在矩阵。它是逆矩阵。
逆矩阵让我找到了我的相机的{Xw,Yw} - 坐标。解决方案看起来正确。我尝试了几张不同角度的照片。
但我无法计算Zw。
现在我并不感到问题有解决方案。 但增强现实应用程序解决了类似的问题。 他们计算标记顶点'坐标{Xc,Yc,Zc} -basis。 如果我能做到这一点,我也可以解决我的问题。
我试图调查ARToolKit实现,但我没有克服它。 我想了解实质内容,而不是使用任何库或现成的解决方案。
答案 0 :(得分:1)
您的问题是4个共面点的PnP问题,您可以在其中检测标记角的投影点,并与标记的3d角对应。通常,角点在标记的坐标系中定义,因此形式为(X,Y,0)。
如果使用OpenCV,使用solvePnP()实现起来相当简单。
在此处查找示例(来自Mastering OpenCV书籍):
以及随附的说明: http://www.packtpub.com/article/marker-based-augmented-reality-on-iPhone-or-iPad
如果您想从单应性中找到姿势,请查看此前发布的文章: Computing camera pose with homography matrix based on 4 coplanar points