Apple Vision framework – Text extraction from image

后端 未结 3 1814
天命终不由人
天命终不由人 2021-02-02 11:13

I am using Vision framework for iOS 11 to detect text on image.

The texts are getting detected successfully, but how we can get the detected text?

3条回答
  •  自闭症患者
    2021-02-02 12:06

    In Apple Vision you can easily extract text from image using VNRecognizeTextRequest class, allowing you to make an image analysis request that finds and recognizes text in an image.

    VNRecognizeTextRequest works starting from iOS 13.0 and macOS 10.15.

    Here's a code snippet showing you how to do it:

    let requestHandler = VNImageRequestHandler(url: imageURL, options: [:])
    
    let request = VNRecognizeTextRequest { (request, error) in
    
        guard let observations = request.results as? [VNRecognizedTextObservation] 
        else { return }
    
        for observation in observations {
    
            let topCandidate: [VNRecognizedText] = observation.topCandidates(1)
    
            if let recognizedText: VNRecognizedText = topCandidate.first {
                label.text = recognizedText.string
            }
        }
    }
    

    Then you have to assign a value for recognitionLevel instance property:

    // non-realtime asynchronous but accurate text recognition
    request.recognitionLevel = VNRequestTextRecognitionLevel.accurate
    
    // nearly realtime but not-accurate text recognition
    request.recognitionLevel = VNRequestTextRecognitionLevel.fast
    
    try? requestHandler.perform([request])
    

提交回复
热议问题