簡體   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