0

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

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

4

1 回答 1

0

你要做的是:

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

ORB-SLAM 本身也有做简单 AR 的功能,也许你也可以看看他们使用的代码。

于 2017-04-18T13:54:38.427 回答