Pubblico
L'obiettivo di questo tutorial è aiutarti a sviluppare applicazioni utilizzando Google Rilevamento del testo di documenti dell'API Cloud Vision. Si assume che tu abbia familiarità con le tecniche e i costrutti di programmazione di base, ma anche se sei un programmatore alle prime armi, dovresti essere in grado di seguire e eseguire questo tutorial senza difficoltà, quindi utilizzare la documentazione di riferimento dell'API Cloud Vision per creare applicazioni di base.
Prerequisiti
- Configura un progetto API Cloud Vision nella console Google Cloud.
Configura l'ambiente per l'utilizzo Credenziali predefinite dell'applicazione.
Python
- Installa Python.
- Installa pip.
- Installa la libreria client Google Cloud e la Python Imaging Library.
Annotazione di un'immagine utilizzando Document Text OCR
Questo tutorial illustra un'applicazione di base dell'API Vision che effettua una
DOCUMENT_TEXT_DETECTION
richiesta, quindi elabora la fullTextAnnotation
risposta.
Un fullTextAnnotation
è una risposta gerarchica strutturata per il testo UTF-8
estratto dall'immagine, organizzata come
Pagine→Blocchi→Paragrafi→Parole→Simboli:
Page
è una raccolta di blocchi, oltre a meta-informazioni sulla pagina: dimensioni e risoluzioni (le risoluzioni X e Y possono variare).Block
rappresenta un valore "logico" della pagina, ad esempio un un'area coperta da testo oppure un'immagine o un separatore tra le colonne. I blocchi di testo e di tabella contengono le informazioni principali necessarie per estrarre il testo.Paragraph
è un'unità strutturale di testo che rappresenta una sequenza ordinata di parole. Per impostazione predefinita, le parole sono considerate separate da interruzioni di parola.Word
è l'unità di testo più piccola. È rappresentato come un array di simboli.Symbol
rappresenta un carattere o un segno di punteggiatura.
fullTextAnnotation
può anche fornire URL di immagini web che corrispondono parzialmente o completamente all'immagine nella richiesta.
Elenco completo del codice
Mentre leggi il codice, ti consigliamo di seguire le istruzioni facendo riferimento alle Riferimento Python per l'API Cloud Vision.
Questa semplice applicazione esegue le seguenti attività:
- Importa le librerie necessarie per eseguire l'applicazione
- Prende tre argomenti e li passa alla funzione
main()
:image_file
: il file immagine di input da annotareoutput_file
: il nome del file di output in cui Cloud Vision genererà un'immagine di output con i polibox disegnati
- Crea un'istanza
ImageAnnotatorClient
per interagire con il servizio - Invia la richiesta e restituisce una risposta.
- Crea un'immagine di output con riquadri intorno al testo
Un'occhiata più da vicino al codice
Importazione di librerie
Importiamo le librerie standard:
argparse
per consentire all'applicazione di accettare i nomi dei file di input come argomentienum
per l'enumerazioneFeatureType
io
per File I/O
Altre importazioni:
- La classe
ImageAnnotatorClient
nella libreriagoogle.cloud.vision
per accedere a API Vision. - Il modulo
types
all'interno della libreriagoogle.cloud.vision
per la creazione delle richieste. - Le librerie
Image
eImageDraw
della libreriaPIL
vengono utilizzate per creare l'immagine di output con caselle disegnate sull'immagine di input.
Esecuzione dell'applicazione
Qui analizziamo semplicemente gli argomenti passati e li passiamo alla funzione render_doc_text()
.
Autenticazione nell'API
Prima di comunicare con il servizio API Vision, devi autenticare il servizio utilizzando le credenziali acquisite in precedenza. All'interno di un'applicazione, il modo più semplice per ottenere le credenziali è utilizzare le credenziali predefinite dell'applicazione (ADC). Per impostazione predefinita, la libreria client di Cloud tenta di ottenere le credenziali dalla variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
, che deve essere impostata in modo da puntare al file della chiave JSON del tuo account di servizio (per ulteriori informazioni, consulta Configurare un account di servizio).
Effettuare la richiesta API e leggere i limiti di testo dalla risposta
Ora che il servizio API Vision è pronto, possiamo accedere al servizio
chiamando il metodo document_text_detection
di ImageAnnotatorClient
in esecuzione in un'istanza Compute Engine.
La libreria client racchiude i dettagli delle richieste e delle risposte ai messaggi tramite Google Cloud CLI o tramite l'API Compute Engine. Consulta la documentazione di riferimento dell'API Vision per informazioni complete sulla struttura di una richiesta.
Dopo che la libreria client ha gestito la richiesta, la nostra risposta conterrà un AnnotateImageResponse, che consiste in un elenco di risultati di Annotazione di immagini, uno per ogni immagine inviata la richiesta. Poiché nella richiesta abbiamo inviato solo un'immagine, esaminiamo TextAnnotation, e raccogliere i confini per la funzionalità del documento specificata.
Esecuzione dell'applicazione
Per eseguire l'applicazione, puoi
scarica questo receipt.jpg
file
(potrebbe essere necessario fare clic con il tasto destro del mouse sul link),
quindi passa la posizione in cui hai scaricato il file sulla tua macchina locale
all'applicazione tutorial (doctext.py
).
Ecco il comando Python, seguito dalle immagini di output di Annotazione del testo.
$ python doctext.py receipt.jpg -out_file out.jpg
L'immagine seguente mostra le parole in caselle gialle e le frasi in rosso.
Complimenti! Hai eseguito il rilevamento del testo utilizzando Google Cloud Vision Annotazioni di testo completo