VISION¶
Vision un framework di Apple che fornisce strumenti per l'elaborazione delle immagini e il riconoscimento degli oggetti tramite machine learning. È progettato per semplificare lo sviluppo di app che richiedono funzionalità di visione artificiale, come il riconoscimento di testo, volti, barcode e altro ancora.
Con Vision, gli sviluppatori possono sfruttare algoritmi di elaborazione delle immagini avanzati per analizzare e interpretare il contenuto delle immagini in tempo reale. Il framework offre anche supporto per l'integrazione di modelli di machine learning, consentendo agli sviluppatori di creare app intelligenti che possono rilevare e identificare oggetti all'interno delle immagini.
Il seguente codice carica un'immagine di esempio, la visualizza in una UIImageView e utilizza Vision per riconoscere il testo all'interno dell'immagine. Una volta riconosciuto il testo, viene stampato in console.
import UIKit
import Vision
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
guard let image = UIImage(named: "sample_image") else { return }
let imageView = UIImageView(image: image)
imageView.frame = CGRect(x: 0, y: 0, width: 300, height: 300)
imageView.contentMode = .scaleAspectFit
view.addSubview(imageView)
let request = VNRecognizeTextRequest(completionHandler: recognizeTextHandler)
let handler = VNImageRequestHandler(cgImage: image.cgImage!, options: [:])
do {
try handler.perform([request])
} catch {
print("Error: \(error)")
}
}
func recognizeTextHandler(request: VNRequest, error: Error?) {
guard let observations = request.results as? [VNRecognizedTextObservation] else { return }
let recognizedText = observations.compactMap { observation in
observation.topCandidates(1).first?.string
}.joined(separator: "\n")
print("Recognized Text:\n\(recognizedText)")
}
}