Skip to content

Instantly share code, notes, and snippets.

@terminox
Last active August 11, 2022 19:42
Show Gist options
  • Save terminox/f658067d457ee6b19c1770c1dc279049 to your computer and use it in GitHub Desktop.
Save terminox/f658067d457ee6b19c1770c1dc279049 to your computer and use it in GitHub Desktop.
Simple text recognition using Apple's Vision Framework (Part 3)
import UIKit
import Vision
let image = UIImage(named: "<image_name_goes_here>")
if let cgImage = image?.cgImage {
let requestHandler = VNImageRequestHandler(cgImage: cgImage)
let recognizeTextRequest = VNRecognizeTextRequest { (request, error) in
// 1. Parse the results
guard let observations = request.results as? [VNRecognizedTextObservation] else {
return
}
// 2. Extract the data you want
let recognizedStrings = observations.compactMap { observation in
observation.topCandidates(1).first?.string
}
// 3. Display or update UI
DispatchQueue.main.async {
print(recognizedStrings)
}
}
recognizeTextRequest.recognitionLevel = .fast
DispatchQueue.global(qos: .userInitiated).async {
do {
try requestHandler.perform([recognizeTextRequest])
} catch {
print(error)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment