我只是在看Android上的artoolkit的开始,我所看到的示例依赖于识别来自设备相机的视频流中的标记.
是否有示例可以代替使用图像(例如包含2D条码标记的普通JPG文件)?还是有办法在观看标记时暂停视频流或抓取单个帧?
我意识到这听起来很奇怪,但是我对特定的用例感兴趣.
解决方法:
在除Android之外的所有平台上,您都可以使用“图像”视频输入模块.这是另一种视频捕获模块,仅循环浏览一个或多个JPEG图像.您可以通过将视频配置字符串更改为以下内容来请求此视频模块:
-device=Image -image="/path/to/image0.jpeg" -image="/path/to/image1.jpeg"
在Android上,如果要构建适用于Android应用的Java artoolkit,一种可能的替代方法是将图像自己加载到Java环境中,然后将该图像推送到本机跟踪例程中,而不是从相机流中推送该图像.拦截图像推送的最简单位置是ARBaseLib / src / org / artoolkit / ar / base / artoolkit.java的convertAndDetect()方法. arwAcceptVideoImage的’frame’参数是指向NV12编码的视频帧的指针.
如果您在Android上使用artoolkit for Unity,则适用相同的建议,只是arwAcceptVideoImage调用的位置不同.相反,它位于onPreviewFrame方法中的org / artoolkit / ar / unity / CameraSurface文件的UnityARPlayer类中.