gpt4 book ai didi

swift - 如何在 session 运行期间修改 "AR Reference Image Set"?

转载 作者:行者123 更新时间:2023-12-04 09:35:32 24 4
gpt4 key购买 nike

在我的应用程序中,我拍摄了几张照片,我将它们作为 UIImages 添加到名为 imagesPicked 的数组中。我将该数组转换为通过按钮操作加载到配置的 Set,然后通过 resetTracking() 运行 session 。所有这一切都通过以下代码。但我想修改该代码,以便能够在仍在运行时将新图像添加到 AR 引用图像集(例如更改配置),而无需重置 session 。我怎样才能做到这一点?谢谢。

var detectionImages = Set<ARReferenceImage>()
func resetTracking() {
let configuration = ARWorldTrackingConfiguration()
configuration.detectionImages = detectionImages
session.run(configuration, options: [.resetTracking, .removeExistingAnchors])
}


var index = 0
func createARReferenceSet() -> Set<ARReferenceImage>?
{
var customReferenceSet = Set<ARReferenceImage>()
do{
for i in 0...imagesPicked.count-1{
let image = imagesPicked[i]
let cgImage = image?.cgImage
let imageWidth = CGFloat(0.1)
let customARReferenceImage = ARReferenceImage(cgImage!, orientation: CGImagePropertyOrientation.up, physicalWidth: imageWidth)
customARReferenceImage.name = "MyCustomARImage\(index)"
customReferenceSet.insert(customARReferenceImage)
index += 1
}
}
return customReferenceSet
}
}


@IBAction func detectChosenImage(_ sender: Any) {
detectionImages = createARReferenceSet()!
resetTracking()
}

最佳答案

为了在不重置当前 session 的情况下将图像添加到 AR 引用图像集,请运行不带 [.resetTracking, .removeExistingAnchors] 的新配置。选项,请尝试调用 session.run(configuration) .

关于swift - 如何在 session 运行期间修改 "AR Reference Image Set"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62613456/

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