2017-09-05 5 views
0

Je détecte du texte avec Vision et cela fonctionne bien Je l'utilise pour terminer quand quelque chose est détecté et appelle une fonction, mais le texte est toujours détecté.Arrêter de détecter des lettres dans Apple Vision, iOS, Swift

Comment puis-je arrêter la détection de texte

Pour démarrer Je suis en utilisant:

func startTextDetection() { 
    let textRequest = VNDetectTextRectanglesRequest(completionHandler: self.detectTextHandler) 
    textRequest.reportCharacterBoxes = true 
    self.requests = [textRequest] 

} 

// I tried this to stop it but it only hides the boxes around the text. 
//func stopTextDetection() { 
// let textRequest = VNDetectTextRectanglesRequest(completionHandler: //self.detectTextHandler) 
// textRequest.reportCharacterBoxes = false 
// self.requests = [textRequest] 
//} 

func detectTextHandler(request: VNRequest, error: Error?) { 
    guard let observations = request.results else { 
     print("no result") 
     return 
    } 
+0

Qu'entendez-vous par "stop"? La demande sera exécutée jusqu'à ce que l'actif (image, vidéo, etc.) soit analysé complètement. Vous ne pouvez pas mettre en pause/reprendre ses progrès. – nathan

+0

il y a une détection de texte de démarrage quand il détecte du texte j'appelle une fonction Je veux que la détection de texte cesse de fonctionner au même moment que la fonction est appelée. Je ne veux pas mettre en pause, je veux arrêter complètement la détection –

+0

Quelques questions. Premièrement, parlons-nous d'une source d'une seule image ou d'autre chose? Deuxièmement, quel est l'objectif de "stopper" la détection de texte? Comme @nathan, je suis confus. Si vous prenez une image * simple * et utilisez Vision pour * détecter * le texte, c'est évidemment "tout ou rien". Ce que vous faites avec * ça * dépend de vous. Je sens que la question est quelque chose que nous ne comprenons pas. – dfd

Répondre

0

j'ai pu comprendre cela en ajoutant les fonctions suivantes et appeler lorsque la détection est atteinte.

func stopTextDetection() { 
    let textRequest = VNDetectTextRectanglesRequest(completionHandler: self.detectTextHandlerStop) 
    textRequest.reportCharacterBoxes = false 
    self.requests = [textRequest] 


} 

func detectTextHandlerStop(request: VNRequest, error: Error?) { 
    guard request.completionHandler != nil else { 
     print("no result") 
     return 
    } 
}