Vai al contenuto

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)")
    }
}