对于使用基于计算机视觉的室内导航,最初我们需要扫描区域并放置模型、对象和path.Save地图,稍后我们可以在打开app.The时加载地图问题是当要绘制地图的区域很大并且有几个楼层时,将难以使用移动设备扫描区域。
有没有替代的方法来绘制大范围的地图?一个基于3d地图的解决方案,如果它是there?.The问题是设备识别场景和放置模型和objects.If我可以创建一个精确的3d地图,并将其集成到统一中,这样我就可以将对象和模型统一放置并创建app.So,当我们打开应用程序时,设备扫描并识别场景并放置对象,而不是进入场景并使用移动设备进行地图绘制。
发布于 2018-11-17 21:06:47
获取点云世界地图最可靠的方法是使用带有ARKit的苹果设备多次扫描整个区域,并将其作为世界地图数据保存到本地存储中。
对于Persistent AR experiences,您可以保存扫描的世界地图:
func writeWorldMap(_ worldMap: ARWorldMap, to url: URL) throws {
let data = try NSKeyedArchiver.archivedData(withRootObject: worldMap,
requiringSecureCoding: true)
try data.write(to: url)
}然后在您需要时检索它:
func loadWorldMap(from url: URL) throws -> ARWorldMap {
let mapData = try Data(contentsOf: url)
guard let worldMap = try NSKeyedUnarchiver.unarchivedObject(ofClass: ARWorldMap.self,
from: mapData) else {
throw ARError(.invalidWorldMap)
}
return worldMap
}此外,您还必须使用打印/绘制的可视内容(也称为基于图像的预先训练的CoreML和Vision框架的ML模型),用于检测用户在世界地图中的确切位置(您可以使用交通标志来实现此目的,如下图所示)。


https://stackoverflow.com/questions/52620416
复制相似问题