0

我正在开发一个简单的 AR 应用程序,它在相机视图顶部呈现 3D 图像。我可以在 Windows 7 中成功实现。我使用了 OpenCv 的本机 POSE 估计函数,该函数内部使用了 POSIT 算法,以便给出可以应用于 3D 模态的平移、旋转矩阵。

我想在 Android 应用程序中实现相同的功能。我面临的问题是,POSE 估计函数的参数之一是相机固有参数和失真参数。我无法找到。我尝试研究各种 AR 平台 - AandAR、ARToolKit 等。但是在对它们的源进行逆向工程之后,我可以得出关于在 POSE 估计中使用这些的任何结论。

请建议我一种适当的姿势估计方法(如果它涉及相机失真参数,那么我将如何确定它)以及因此在 Android 应用程序中通过相机视图渲染 3D 对象

4

2 回答 2

0

OpenCV是一个很棒的库,它为您提供了执行相机校准的方法,如果您想弄清楚相机的内在参数是什么,请参阅相机校准文档。其中许多功能也在Android OpenCV 库中实现。

最后,您还可以使用 Android 附带的内部传感器来获取重力、线性加速度和方向。请参阅David Sachs 关于如何在 Android 上使用 Sensor Fusion 的鼓舞人心的演讲

于 2013-08-13T00:34:56.917 回答
0

我成功地为移动设备执行相机校准。我使用移动相机从各个角度单击棋盘快照,然后在 C++ 相机校准代码中使用它们。

然后使用这些内在和外在的相机参数,我试图制作 POSE 估计模块。

  1. 我解析了 XML 文件并构建了矩阵。
  2. 然后使用这个 OpenCv 教程 - OpenCv POSIT。我能够执行 POSE 估计。

但是,我还没有通过实际程序检查它的可信度。但理论上它是可以实现的,并且代码不会给出任何构建或编译错误。

于 2013-08-19T05:52:40.860 回答