我的目标是在物理对象上覆盖材质/纹理(它将是一个建筑模型),我将拥有相同的3D模型。模型将是静态的(如果有帮助的话,在桌子上),但我显然想从任何一侧看对象。我的物理模型的占地面积往往不小于15x15cm,可能大到2-3平方公尺,但我愿意改变模型的大小以适应ARCore的能力。
我知道ARCore主要用于将数字对象固定在平面水平面上。我的主要问题是,在目前的状态下,它是否有能力实现我的最终目标?如果我有这个权利,它会记录物理点云数据,并尝试将其与我的数字模型的点云数据相匹配,然后在手机屏幕上重叠这两个数据?
如果那真的不是ARCore的用途,那么我应该关注一个替代方案吗?在我的脑海里,这听起来相当简单,但如果我以低效的方式解决这个问题,我相信我会走出自己的道路。说到深度,我宁愿不使用深度传感器,因为我的目标设备是手机。
答案 0 :(得分:9)
我绝对希望将来有可能 - 毕竟没有计算机视觉的AR工具包没那么有用。
不幸的是,根据ARCore员工Ian的说法,这是currently not directly supported,但您可以尝试通过glReadPixels
访问像素,然后将OpenCV与这些图像字节一起使用。
来自Ian:
我无法谈及未来的计划,但我同意这是可取的 能力。不幸的是,我的理解是当前的Android 平台限制阻止提供可以的单个缓冲区 用作GPU纹理和CPU可访问的图像,所以必须小心 提供这种能力。
答案 1 :(得分:1)
目前(
April 20, 2019
,ARCore 1.8中仍然没有 3D对象识别API 和算法。
但是您可以使用Augmented Images API(自ARCore 1.2版本开始)和全新的ML Kit framework(现在处于beta版)来完成某些任务。