gpt4 book ai didi

swift - ARKit:你如何迭代所有检测到的特征点?

转载 作者:搜寻专家 更新时间:2023-10-31 21:56:18 26 4
gpt4 key购买 nike

我想对 ARKit session 期间在单个帧中发现的每个检测到的特征点进行一些处理。如何遍历每个检测到的特征点,并获取它们的世界坐标?

我使用的是 Swift,但 Objective-C 答案也可以。

最佳答案

编辑:在 Xcode 9.0 GM(及更高版本)中,pointsfloat3 向量的 Swift 数组,因此您可以像任何其他 Swift 数组一样迭代它:

for point in frame.rawFeaturePoints.points { 
...
}

或者:

frame.rawFeaturePoints.points.map { point in 
...
}

或者您最喜欢的数组/集合算法是什么。


在各种 Xcode 9.x 测试版中,此属性的 Swift Array 版本不可用。所以你不得不处理 underlying ObjC property ,它作为 UnsafePointer 导入到 Swift 中,您无法轻松对其进行迭代。 (因此 OP 的原始问题。)

如果该错误再次出现(或者您在其他地方遇到了类似的问题),您可以这样做:

for index in 0..<frame.rawFeaturePoints.count {
let point = frame.rawFeaturePoints.points[index]
// do something with point
}

关于swift - ARKit:你如何迭代所有检测到的特征点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45222259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com