繁体   English   中英

如何在ARKit中重新扫描图像?

[英]How can I rescan an image in ARKit?

在我的项目中,我使用ARKit来检测特定图像,当检测到他时,应用程序会向我显示该信息。 如果已经扫描过图像,并且想重新扫描以查看信息,则该图像不起作用。 这是我用于图像识别的代码:

    sceneView.delegate = self
    sceneView.showsFPS = true
    sceneView.showsNodeCount = true

    if let scene = SKScene(fileNamed: "Scene") {
        sceneView.presentScene(scene)
    }

    guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "image", bundle: nil) else {
        fatalError("Missing expected asset catalog resources.")
    }

    let configuration = ARWorldTrackingConfiguration()
    configuration.detectionImages = referenceImages

    sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])
}


// MARK: - ARSKViewDelegate
func view(_ view: ARSKView, nodeFor anchor: ARAnchor) -> SKNode? {

    if let imageAnchor = anchor as? ARImageAnchor,
        let referenceImageName = imageAnchor.referenceImage.name,
        let scannedImage =  self.images[referenceImageName] {

        self.selectedImage = scannedImage

        self.performSegue(withIdentifier: "showImageInformation", sender: self)

    }

    return nil
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showImageInformation"{
        if let imageInformationVC = segue.destination as? ImageInformationViewController,
            let actualSelectedImage = selectedImage {
            imageInformationVC.imageInformation = actualSelectedImage
        }
    }
}


唯一的方法是重置当前会话。
例:

func resetExperience(session: ARSession, configuration: ARWorldTrackingConfiguration) {

    guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "image", bundle: nil) else {
        fatalError("Missing expected asset catalog resources.")
    }

    configuration.detectionImages = referenceImages
    session.run(configuration, options: [.resetTracking, .removeExistingAnchors])
}

还有一些常规信息: ARWorldTrackingConfiguration
希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM