android - ARToolkit for Android 是否能够识别图像而非视频中的标记?

标签 android image artoolkit

我刚刚开始研究 Android 上的 ARToolkit,我看到的示例依赖于识别来自设备摄像头的视频流中的标记。

有没有可以使用图像(例如包含二维条形码标记的普通 JPG 文件)代替的示例?或者有没有办法在标记出现时暂停视频流或抓取单帧?

我意识到这听起来可能很奇怪,但我对特定用例很感兴趣。

最佳答案

在除 Android 以外的所有平台上, 您都可以使用“图像”视频输入模块。这是一个替代视频捕获模块,它只循环处理一个或多个 JPEG 图像。您通过将视频配置字符串更改为类似以下内容来请求此视频模块:

-device=Image -image="/path/to/image0.jpeg" -image="/path/to/image1.jpeg"

在 Android 上,如果您正在为 Android 应用程序构建 Java ARToolKit,一种可能的替代方法是在 Java 环境中自行加载图像并将该图像推送到 native 跟踪例程,而不是从相机流中推送图像。拦截图片推送最简单的地方是ARBaseLib/src/org/artoolkit/ar/base/ARToolKit.java的convertAndDetect()方法。 arwAcceptVideoImage 的“frame”参数是指向 NV12 编码视频帧的指针。

如果您在 Android 上使用 ARToolKit for Unity,同样的建议也适用,只是 arwAcceptVideoImage 调用的位置不同。相反,它位于文件 org/artoolkit/ar/unity/CameraSurface 中的 UnityARPlayer 类中的 onPreviewFrame 方法中。

抱歉,我无法建议更简单的方法...Android 版 ARToolKit 的结构在视频流源方面并不是很灵活。

关于android - ARToolkit for Android 是否能够识别图像而非视频中的标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33426538/

相关文章:

html - 使用 html/css 在渐变背景上出现透明图像问题

python - 根据列表从文件夹导入图像 - python

java - Graphics2D 在定义的四边形内部绘制图像

android:实现经纬度

android - 9-patch 图像无法在我的设备上运行?

android - 如何将 View 的右边框放在水平中心?

ios - ARToolKit 自定义相机跟踪区域

android - Play 商店如何识别应用程序的语言?

android - 如何在支持图层的 Android 上显示 Collada (.dae) 文件?

java - 为什么 ARToolKit Android 在 Moto X 2nd Gen 上以错误的位置和视角显示对象?