0

第一:这里有两个非常相似的主题,但一个以设备故障而告终,其他主题在 C API 上……这就是为什么要提出一个新问题。

我将Google Tango SDK 与 jMonkeyEngine一起用于科学增强现实应用程序。到目前为止,一切都很好。但现在我想使用来自 Tango 的点云数据,它被提供给一个监听器(类:OnTangoUpdateListener)。(探戈深度感知)有4种方法:

  • onPoseAvailable(TangoPoseData 姿势)
  • onXyzIjAvailable(TangoXyzIjData xyzIj)
  • onTangoEvent(TangoEvent arg0)
  • onFrameAvailable(int arg0)

其中 3 个被定期调用。问题是:永远不会调用onXyzIjAvailable,因此我无法访问点云数据。这是我的代码片段,你知道我做错了什么或者我可以尝试什么吗?

public class TangoUpdateListener implements OnTangoUpdateListener {
@Override
            public void onXyzIjAvailable(TangoXyzIjData xyzIj)
            {

                System.out.println("POINT CLOUD AVAILABLE");
                Log.e("CLOUD", "CLOUD AVAILABLE");
        }
}

整个文件可以在这里找到:Pastebin

感谢您的帮助!

PS:该设备与示例项目完美配合。这不是硬件问题。

4

1 回答 1

1

我发现是什么抑制了回调。Acutally 一次只有一项活动可以使用相机。在开发增强现实应用程序时,我有两个活动。一种用于背景 - 显示相机视频 - 一种用于渲染虚拟对象 - 使用相机获取深度信息。虽然 RGB 摄像头和深度摄像头不是同一个设备,但 Android 认为它们是,并且一次只允许访问其中一个。因此,停用背景视频会启用深度数据回调,反之亦然。

如果有人知道如何同时使用它们——那就太棒了。

干杯,宝石

于 2016-05-12T08:55:44.833 回答