Rilevamento della scrittura a mano libera con riconoscimento ottico dei caratteri (OCR)
L'API Vision può rilevare ed estrarre testo dalle immagini:
DOCUMENT_TEXT_DETECTION
estrae il testo da un'immagine (oppure file); la risposta è ottimizzata per testo ad alta densità e documenti. Il formato JSON include pagine, blocchi informazioni su paragrafi, parole e interruzioni.Un uso specifico di DOCUMENT_TEXT_DETECTION è rilevare della scrittura a mano libera in un'immagine.
Provalo
Se non hai mai utilizzato Google Cloud, crea un account per valutare in che modo L'API Cloud Vision funziona nel mondo reale diversi scenari. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova l'API Cloud Vision gratuitamenteRichieste di rilevamento del testo dei documenti
Configura il progetto Google Cloud e l'autenticazione
Rileva il testo del documento in un'immagine locale
Puoi utilizzare l'API Vision per eseguire il rilevamento delle caratteristiche su un file immagine locale.
Per le richieste REST, invia i contenuti del file immagine come stringa con codifica base64 nel corpo della richiesta.
Per le richieste gcloud
e della libreria client, specifica il percorso di un'immagine locale nel tuo
richiesta.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: il base64
(stringa ASCII) dei dati dell'immagine binaria. Questa stringa dovrebbe essere simile alla
la seguente stringa:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della richiesta:
{ "requests": [ { "image": { "content": "BASE64_ENCODED_IMAGE" }, "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e
la risposta in formato JSON.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Go documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nel Guida rapida dell'API Vision Utilizzo delle librerie client. Per ulteriori informazioni, consulta documentazione di riferimento Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Node.js documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Python documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per Ruby.
Rileva il testo del documento in un'immagine remota
Puoi utilizzare l'API Vision per eseguire il rilevamento delle caratteristiche su un file immagine remoto che si trova in Cloud Storage o sul web. Per inviare una richiesta di file remota, specifica l'URL web del file o URI Cloud Storage nel corpo della richiesta.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- CLOUD_STORAGE_IMAGE_URI: il percorso di un percorso
in un bucket Cloud Storage. Devi disporre almeno dei privilegi di lettura per il file.
Esempio:
gs://cloud-samples-data/vision/handwriting_image.png
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della richiesta:
{ "requests": [ { "image": { "source": { "imageUri": "CLOUD_STORAGE_IMAGE_URI" } }, "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e
la risposta in formato JSON.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Go documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nel Guida rapida dell'API Vision Utilizzo delle librerie client. Per ulteriori informazioni, consulta documentazione di riferimento Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Node.js documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Python documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
gcloud
Per eseguire il rilevamento della scrittura a mano libera, utilizza
gcloud ml vision detect-document
come mostrato nell'esempio seguente:
gcloud ml vision detect-document gs://cloud-samples-data/vision/handwriting_image.png
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per Ruby.
Specifica la lingua (facoltativo)
Entrambi i tipi di richieste OCR supportano uno o più languageHints
che specificano il
lingua del testo nell'immagine. Tuttavia, un valore vuoto di solito genera i risultati migliori.
perché l'omissione di un valore abilita il rilevamento automatico della lingua. Per le lingue che si basano sul latino
alfabeto, non è necessario impostare languageHints
. In rari casi, quando la lingua
il testo in
nota dell'immagine, l'impostazione di un suggerimento aiuta a ottenere risultati migliori (anche se può essere
ostacoli se il suggerimento è errato). Il rilevamento del testo restituisce un errore se una o più degli elementi
lingue non è una delle
lingue supportate.
Se scegli di fornire un suggerimento per la lingua, modifica il corpo della richiesta
(request.json
file) per fornire la stringa di una delle lingue supportate
nel campo imageContext.languageHints
, come illustrato nell'esempio seguente:
{ "requests": [ { "image": { "source": { "imageUri": "IMAGE_URL" } }, "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ], "imageContext": { "languageHints": ["en-t-i0-handwrit"] } } ] }
Supporto di più aree geografiche
Ora puoi specificare l'archiviazione dei dati e l'elaborazione OCR a livello di continente. Le seguenti regioni sono attualmente supportati:
us
: solo paese degli Stati Unitieu
: Unione europea
Località
Cloud Vision ti offre un certo controllo su dove le risorse per il tuo progetto vengono archiviati ed elaborati. In particolare, puoi configurare Cloud Vision per archiviare ed elaborare i tuoi dati solo nell'Unione Europea.
Per impostazione predefinita, Cloud Vision archivia ed elabora le risorse in una località globale, il che significa che Cloud Vision non garantisce che le risorse rimangano all'interno di una determinata località o regione. Se scegli la località Unione Europea: Google memorizzerà i tuoi dati e li tratterà solo nell'Unione Europea. Tu e i tuoi utenti potete accedere ai dati da qualsiasi luogo.
Impostazione della località tramite l'API
L'API Vision supporta un endpoint API globale (vision.googleapis.com
) e
due endpoint basati sulla regione: un endpoint dell'Unione Europea
(eu-vision.googleapis.com
) e Stati Uniti
(us-vision.googleapis.com
). Usa questi endpoint per regioni specifiche
e l'elaborazione dei dati. Ad esempio, per archiviare ed elaborare i tuoi dati solo nell'Unione Europea, utilizza
URI eu-vision.googleapis.com
al posto di vision.googleapis.com
per le chiamate API REST:
- https://eu-vision.googleapis.com/v1/projects/PROJECT_ID/locations/eu/images:annotate
- https://eu-vision.googleapis.com/v1/projects/PROJECT_ID/locations/eu/images:asyncBatchAnnotate
- https://eu-vision.googleapis.com/v1/projects/PROJECT_ID/locations/eu/files:annotate
- https://eu-vision.googleapis.com/v1/projects/PROJECT_ID/locations/eu/files:asyncBatchAnnotate
Per archiviare ed elaborare i tuoi dati solo negli Stati Uniti, utilizza l'endpoint USA
(us-vision.googleapis.com
) con i metodi precedenti.
Impostazione della località utilizzando le librerie client
Le librerie client dell'API Vision accedono all'endpoint API globale
(vision.googleapis.com
) per impostazione predefinita. Per archiviare ed elaborare i tuoi dati nel
Solo per l'Unione Europea, devi impostare esplicitamente l'endpoint
(eu-vision.googleapis.com
). I seguenti esempi di codice mostrano come configurare
questa impostazione.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- REGION_ID: uno dei valori regionali validi
identificatori di località:
us
: solo paese degli Stati Unitieu
: Unione europea
- CLOUD_STORAGE_IMAGE_URI: il percorso di un percorso
in un bucket Cloud Storage. Devi disporre almeno dei privilegi di lettura per il file.
Esempio:
gs://cloud-samples-data/vision/handwriting_image.png
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
Metodo HTTP e URL:
POST https://REGION_ID-vision.googleapis.com/v1/projects/PROJECT_ID/locations/REGION_ID/images:annotate
Corpo JSON della richiesta:
{ "requests": [ { "image": { "source": { "imageUri": "CLOUD_STORAGE_IMAGE_URI" } }, "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION_ID-vision.googleapis.com/v1/projects/PROJECT_ID/locations/REGION_ID/images:annotate"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION_ID-vision.googleapis.com/v1/projects/PROJECT_ID/locations/REGION_ID/images:annotate" | Select-Object -Expand Content
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e
la risposta in formato JSON.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Go documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nel Guida rapida dell'API Vision Utilizzo delle librerie client. Per ulteriori informazioni, consulta documentazione di riferimento Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Node.js documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Python documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Prova
Prova il rilevamento del testo e il rilevamento del testo dei documenti nel seguente strumento. Puoi
utilizza l'immagine già specificata
(gs://cloud-samples-data/vision/handwriting_image.png
) facendo clic su
Esegui; in alternativa, puoi specificare un'immagine personalizzata.
Corpo della richiesta:
{ "requests": [ { "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ], "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/handwriting_image.png" } } } ] }