ORB SLAM 2 - 适用于Android的AR实现



我使用 ORB-SLAM2 实现了一个应用程序。目前,我的活动中有一个OpenCV JavaCameraView,并将相机帧转换为Mat并将它们发送到SLAM系统。现在一切正常,但我不知道如何在相机屏幕上的正确位置渲染和显示虚拟对象。

我想实现一个简单的AR应用程序,在屏幕上显示一些简单的文本作为虚拟对象。欢迎任何帮助我实现这一目标的步骤。

你要做的是:

  1. 从ORB-SLAM中,您有一个3D点的点云。您必须根据自己的位置将虚拟对象放置在此点云中(这意味着您将 x,y 和 z 坐标分配给虚拟对象的点)
  2. 然后,您必须使用特定于相机的投影矩阵将这些 3D 点投影到图像平面上,这将为您提供 2D 图像平面上 3D 点的位置
  3. 然后,您必须根据从(2)获得的2D位置在图像上绘制对象/点。

ORB-SLAM本身也具有执行简单AR的功能,也许您也可以查看他们用于它的代码。