android - 将 ARToolkit 标记跟踪添加到 Tango

标签 android android-camera google-project-tango android-camera2 artoolkit

我一直在尝试将 ARToolkit 标记对象跟踪集成到 Tango 应用程序中。

到目前为止,我已经创建了一个构建,以便 tango 应用程序可以访问和使用 ARToolkit Native Library 或 ARToolkit Unity 包装器。 但是,它们似乎都需要在默认配置下独占访问相机。

您如何向两个库提供相同的 Android 视频源?

  • 你能制作一个模拟摄像头设备,使信号加倍吗?
  • 你能像往常一样接受探戈提要,然后用特殊的 VideoConf 将它重新发送到 ARToolkit 中吗?

[编辑]
ARToolkit 使用较旧的 Camera1 API,采用 onPreviewFrame() 回调并将该 byte[] 数据传递给它自己的 Native Library 调用,后者执行实际工作。

按照第二个要点,Tango 能否使用类似 iTangoVideoOverlay 的方式提供每帧原始相机数据的副本? .
(ARToolkits NDK 功能似乎期望 NV21,但也可以接受 other formats )

如果该数据可以从 tango 中提取,我相信 ARToolkit NDK 功能可以在没有真正拥有相机的情况下使用。

最佳答案

恐怕您提到的两种方法都行不通。 Tango 拥有相机的独占权限,我相信 ARToolkit 也通过 camera2 API 独占相机。使用当前的 TangoSDK,我认为绕行将使用 ARToolkit 进行相机渲染,并使用 Tango 进行姿势跟踪。

但是,这可能会暴露时间戳问题,即 Tango 和 ARToolkit 具有不同的时间戳。解决方案是在应用程序启动的一开始就采用时间戳偏移量,并在基于时间戳从 Tango 查询姿势时不断应用该偏移量。

关于android - 将 ARToolkit 标记跟踪添加到 Tango,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41934359/

相关文章:

android - ImageButton 的 RTL 支持,带有 autoMirror for src drawable

android - 使用 NDK 在 Android 中进行实时图像处理

android - Unity 应用程序在 Google Tango 设备上崩溃

android - 模拟 Android 摄像头

android - Camera2 API Android min SDK

google-project-tango - 最大范围(深度传感器)|探戈计划

c# - 网格划分示例 -> 网格错误 |探戈计划 |统一

android - 什么时候应该关闭 SQLiteDatabase 对象?

java - 使用模拟器和 HttpURLConnection 出现未知主机异常

Android ListView 与 CardView : Last Card not fully displayed when scrolling