iPhone: come utilizzare le funzionalità di rilevamento del testo di iOS

Vision in iOS 11 ha tutto il necessario per creare un'app in grado di riconoscere i caratteri di testo con l'implementazione simultanea. Non è necessaria una conoscenza tecnica della codifica: la navigazione nella funzione è abbastanza semplice. Inoltre, l'implementazione è senza soluzione di continuità.

Quadro di visione

Il framework di visione consente di implementare facilmente qualsiasi attività che coinvolga i dettagli del computer. La struttura esegue il rilevamento del volto e del punto di riferimento del volto, il riconoscimento del codice a barre, la registrazione dell'immagine, il rilevamento delle caratteristiche generali e il rilevamento del testo. Vision consente inoltre di utilizzare modelli Core ML personalizzati per attività come la classificazione o il rilevamento di oggetti.

VN DetectTextRectanglesRequest

Il  VN DetectTextRectanglesRequest  è una richiesta di analisi dell'immagine che trova regioni di testo visibile in un'immagine; la funzione restituisce i caratteri di testo come un riquadro di delimitazione rettangolare con origine e dimensione.

Se sei abituato a usare swift e stai programmando da un po', probabilmente ti starai chiedendo quale sia l'uso di Vision quando ci sono altre funzionalità come image e AVFoundation. Bene, Vision è più preciso e più diretto. La funzione è disponibile anche su una varietà di piattaforme. Tuttavia, l'utilizzo di Vision potrebbe richiedere più potenza di elaborazione e tempo di elaborazione.

Per utilizzare Vision per il rilevamento del testo, avrai bisogno di Xcode 9 e di un dispositivo con iOS 11.

Creazione di una fotocamera con Avcapture

Innanzitutto, devi creare una videocamera con  AVCapture ; questo avviene inizializzando un oggetto AVcapturesession per eseguire l'acquisizione in tempo reale o offline. Successivamente, effettua la sessione sulla connessione del dispositivo.

Per risparmiare tempo dalla creazione di un'interfaccia utente della tua app, considera di avere un progetto iniziale, per cominciare, questo ti darà il tempo di concentrarti sull'apprendimento del framework Vision.

Apri il tuo progetto di partenza. Le viste nello storyboard dovrebbero essere tutte pronte e impostate per te.

In  ViewController.swift,  cerca la sezione del codice con funzioni e punti vendita.

Sotto l'outlet- ImageView, dichiara una sessione per  AVcapturesession  : questa viene utilizzata ogni volta che si desidera eseguire azioni in base a un live streaming.

Imposta  AVcapturesession  e  AVmediatype  su video poiché eseguirai le riprese della fotocamera per consentirne l'esecuzione continua

Definire il dispositivo di output e input

L'input è ciò che vedrà la telecamera e l'output è il video in un formato di tipo impostato di KCVPixelFormatType_32GRA.

Infine, aggiungi un  sottolivello  che contenga video a  imageView  e avvia la sessione. La funzione è nota come  inViewdidload.  È inoltre necessario impostare la cornice del livello.

Chiama la funzione nel   metodo viewWillAppear .

Poiché i limiti non sono ancora stati finalizzati, sovrascrivere il  metodo viewDidLayoutSubviews ( )  per aggiornare i livelli associati.

Dopo il rilascio di iOS 10, è necessaria una voce aggiuntiva in Info.plist, che fornisce un motivo per utilizzare la fotocamera. Dovresti anche impostare la descrizione dell'utilizzo della fotocamera per la privacy.

rilevamento del testo; Come funziona Vision Framework

Ci sono tre passaggi per implementare Vision sull'app.

Gestori:  questo è quando vuoi che il framework esegua qualcosa dopo che la richiesta è stata chiamata.

Osservazioni –  questo è quello che vuoi fare con i dati da te forniti a partire da una richiesta

Richieste:  questo è il momento in cui chiedi il framework Detect

Idealmente, crei una richiesta di testo come  VNdetecttextrectanglesrequest . Questo è un tipo di  VNrequest  che circonda il testo. Dopo che il framework ha completato l'applicazione, si procede alla chiamata della   funzione Dettexthandler . Dovrai anche conoscere l'esatto frame che è stato riconosciuto, impostalo su  Reportcharacterboxes =True.

Dopodiché, definisci le osservazioni che contengono tutti i risultati di  VNdetecttextrectanglesrequest , ricordati di aggiungere Vision alla telecamera di output. Poiché Vision espone API di alto livello, lavorare con esso è sicuro.

La funzione controlla se  Cmsamplebuffer  esiste e PutOut  Avcaptureoutput . Dovresti quindi procedere alla creazione di una variabile  Requestoptions  come 1 Dictionary Type  VNimageoption . L'   opzione VNmage è un tipo di struttura che contiene proprietà e dati dalla telecamera. Dovresti quindi creare il  VNimagerequesthandler  ed eseguire la richiesta di testo.

Disegnare bordi intorno al testo rilevato

Puoi iniziare avendo il framework per disegnare due caselle, una per ogni lettera rilevata e l'altra per ogni parola. Le tabelle sono la combinazione di tutte le caselle di caratteri che la tua richiesta troverà.

  • Definisci i punti sulla tua vista per aiutarti a posizionare le scatole.
  • Successivamente, crea un  CALaye r; usa  VNrectangleobservation  per definire i tuoi vincoli, semplificando il processo di delineamento della scatola.

Ora hai tutte le tue funzioni disposte.

Per collegare i tuoi punti, inizia con l'esecuzione del codice in modo asincrono. Dovresti quindi verificare se esiste una regione all'interno dei risultati della tua  VNTextObservation .

Ora puoi chiamare la tua funzione, che disegnerà una casella all'interno dell'area. Controlla se ci sono caselle di caratteri all'interno della regione, quindi chiama il servizio che porta una casella attorno a ogni lettera.

Successivamente, crea una variabile  RequestOptions. Ora puoi creare un  oggetto VNImageRequestHandler  ed eseguire la richiesta di testo che hai creato.

Infine, l'ultimo passaggio consiste nell'eseguire il codice di visione con il live streaming. Dovrai prendere l'output video e convertirlo in  Cmsamplebuffer.

Suggerimenti aggiuntivi

Cerca sempre di ritagliare l'immagine ed elaborare solo la sezione di cui hai bisogno. Ciò ridurrà il tempo di elaborazione e l'impronta di memoria

Attiva la correzione della lingua quando si tratta di caratteri non numerici, quindi disattivala quando si tratta di un carattere numerico

Includere la convalida per le stringhe di numeri riconosciute per confermare l'accuratezza ed eliminare la visualizzazione di valori falsi per l'utente.

Il controller della telecamera per documenti è il miglior compagno per il riconoscimento del testo poiché la qualità dell'immagine svolge un ruolo significativo nel riconoscimento del testo.

Considera l'impostazione di un'altezza minima del testo per aumentare le prestazioni.

Con Vision hai tutto il necessario per il riconoscimento del testo. Poiché Vision è facile da usare e richiede poco tempo per l'implementazione, utilizzarlo equivale quasi a giocare con i Lego. Prova a testare la tua app su oggetti, caratteri, illuminazione e dimensioni diversi. Puoi anche stupirti combinando Vision con Core ML.



Leave a Comment

Come risolvere il problema Questa canzone non è disponibile nella tua regione in Apple Music su iPhone

Come risolvere il problema Questa canzone non è disponibile nella tua regione in Apple Music su iPhone

Apple Music visualizza un errore che dice Questo brano non è attualmente disponibile nel tuo Paese o nella tua regione? Ecco una guida per correggere l'errore!

4 Modi Semplici e Veloci per Convertire Word in PDF su iPhone e iPad

4 Modi Semplici e Veloci per Convertire Word in PDF su iPhone e iPad

Se possiedi un iPhone o iPad, puoi convertire facilmente i documenti Word in PDF, continua a leggere per scoprire diversi metodi per farlo.

I 9 modi migliori per risolvere il problema della ricezione di messaggi di testo in ritardo su iPhone

I 9 modi migliori per risolvere il problema della ricezione di messaggi di testo in ritardo su iPhone

Riscontri un ritardo nella ricezione dei messaggi di testo su iPhone? Ecco i modi migliori per risolvere il problema con la ricezione tardiva dei messaggi di testo su iPhone.

Come convertire facilmente immagini JPG in HEIC su iPhone

Come convertire facilmente immagini JPG in HEIC su iPhone

Vuoi risparmiare spazio e convertire le immagini JPEG in HEIC su iPhone? Dai un'occhiata a questo articolo per tre semplici metodi per farlo!

Come risolvere le attività live che non funzionano su iPhone (iOS 16 aggiornato)

Come risolvere le attività live che non funzionano su iPhone (iOS 16 aggiornato)

Se la funzione Attività dal vivo non funziona sul tuo iPhone, ecco alcune soluzioni funzionanti per aiutarti a risolvere il problema.

Come attivare o disattivare automaticamente la modalità aereo su iOS

Come attivare o disattivare automaticamente la modalità aereo su iOS

Vuoi sfruttare al massimo la modalità aereo dell'iPhone? Ecco un bel trucco per programmare la modalità aereo utilizzando l'automazione dell'iPhone.

Le 6 principali correzioni per le immagini che non vengono caricate nellapp di posta per iPhone

Le 6 principali correzioni per le immagini che non vengono caricate nellapp di posta per iPhone

L'app Apple Mail sul tuo iPhone non carica le immagini nelle tue e-mail? Ecco alcuni suggerimenti che ti aiuteranno a risolvere rapidamente il problema.

Come convertire immagini WEBP in JPG/PNG su iPhone

Come convertire immagini WEBP in JPG/PNG su iPhone

Impossibile visualizzare le immagini WEBP dopo averle trasferite da un iPhone? Ecco come convertire le immagini WEBP in JPG/PNG per evitare problemi.

5 migliori soluzioni per gli eventi scompaiono dallapp Calendario su iPhone

5 migliori soluzioni per gli eventi scompaiono dallapp Calendario su iPhone

Se i tuoi eventi del calendario sono scomparsi sul tuo iPhone, ecco un paio di metodi di risoluzione dei problemi per risolvere questo problema.

I 8 modi principali per risolvere il problema con Gmail che non funziona su iPhone

I 8 modi principali per risolvere il problema con Gmail che non funziona su iPhone

Gmail non funziona su iPhone? Applica questi suggerimenti per la risoluzione dei problemi per risolvere il problema di fondo in pochissimo tempo.