L'API Vision può eseguire servizi di rilevamento offline (asincroni) e annotazione di un grande lotto di file immagine utilizzando qualsiasi tipo di elemento Vision. Ad esempio, puoi specificare una o più funzionalità dell'API Vision (ad esempio TEXT_DETECTION
, LABEL_DETECTION
e LANDMARK_DETECTION
) per un singolo batch di immagini.
L'output di una richiesta batch offline viene scritto in un file JSON creato nel bucket Cloud Storage specificato.
Limitazioni
L'API Vision accetta fino a 2000 file immagine. Un batch più grande di file immagine riporterà un errore.
Tipi di funzionalità attualmente supportati
Tipo di caratteristica | |
---|---|
CROP_HINTS |
Determina i vertici suggeriti per un'area di ritaglio su un'immagine. |
DOCUMENT_TEXT_DETECTION |
Esegui l'OCR sulle immagini ad alta densità di testo, ad esempio documenti (PDF/TIFF) e immagini con scrittura a mano libera.
TEXT_DETECTION può essere utilizzato per immagini con testo sparso.
Ha la precedenza quando sono presenti sia DOCUMENT_TEXT_DETECTION che TEXT_DETECTION .
|
FACE_DETECTION |
Rileva i volti all'interno dell'immagine. |
IMAGE_PROPERTIES |
Calcola un insieme di proprietà relative all'immagine, come i colori predominanti dell'immagine. |
LABEL_DETECTION |
Aggiungi etichette in base al contenuto dell'immagine. |
LANDMARK_DETECTION |
Rileva i punti di riferimento geografici nell'immagine. |
LOGO_DETECTION |
Rileva i loghi aziendali nell'immagine. |
OBJECT_LOCALIZATION |
Rileva ed estrai più oggetti in un'immagine. |
SAFE_SEARCH_DETECTION |
Esegui SafeSearch per rilevare contenuti potenzialmente non sicuri o indesiderati. |
TEXT_DETECTION |
Esegui il riconoscimento ottico dei caratteri (OCR) per il testo all'interno dell'immagine.
Il rilevamento del testo è ottimizzato per aree di testo sparso all'interno di un'immagine più grande.
Se l'immagine è un documento (PDF/TIFF), contiene testo ad alta densità o con scrittura a mano libera, utilizza invece DOCUMENT_TEXT_DETECTION .
|
WEB_DETECTION |
Rileva entità suddivise per argomento, ad esempio notizie, eventi o celebrità all'interno dell'immagine e trova immagini simili sul Web grazie alla potenza della ricerca di immagini di Google. |
Codice di esempio
Utilizza i seguenti esempi di codice per eseguire i servizi di annotazione offline su un batch di file immagine in Cloud Storage.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida dell'API Vision sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Per autenticarti a Vision, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
Per autenticarti a Vision, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Risposta
Una richiesta riuscita restituisce i file JSON di risposta nel
bucket Cloud Storage indicato nell'esempio di codice. Il numero di risposte per file JSON è dettato da batch_size
nell'esempio di codice.
La risposta restituita è simile alle risposte delle funzionalità dell'API Vision standard, a seconda delle funzionalità richieste per un'immagine.
Le seguenti risposte mostrano annotazioni LABEL_DETECTION
e TEXT_DETECTION
per image1.png
, annotazioni IMAGE_PROPERTIES
per image2.jpg
e annotazioni OBJECT_LOCALIZATION
per image3.jpg
.
La risposta contiene anche un campo context
che mostra
l'URI del file.
offline_batch_output/output-1-to-2.json
{ "responses": [ { "labelAnnotations": [ { "mid": "/m/07s6nbt", "description": "Text", "score": 0.93413997, "topicality": 0.93413997 }, { "mid": "/m/0dwx7", "description": "Logo", "score": 0.8733531, "topicality": 0.8733531 }, ... { "mid": "/m/03bxgrp", "description": "Company", "score": 0.5682425, "topicality": 0.5682425 } ], "textAnnotations": [ { "locale": "en", "description": "Google\n", "boundingPoly": { "vertices": [ { "x": 72, "y": 40 }, { "x": 613, "y": 40 }, { "x": 613, "y": 233 }, { "x": 72, "y": 233 } ] } }, ... ], "blockType": "TEXT" } ] } ], "text": "Google\n" }, "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image1.png" } }, { "imagePropertiesAnnotation": { "dominantColors": { "colors": [ { "color": { "red": 229, "green": 230, "blue": 238 }, "score": 0.2744754, "pixelFraction": 0.075339235 }, ... { "color": { "red": 86, "green": 87, "blue": 95 }, "score": 0.025770646, "pixelFraction": 0.13109145 } ] } }, "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ {}, { "x": 1599 }, { "x": 1599, "y": 1199 }, { "y": 1199 } ] }, "confidence": 0.79999995, "importanceFraction": 1 } ] }, "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image2.jpg" } } ] }
offline_batch_output/output-3-to-3.json
{ "responses": [ { "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image3.jpg" }, "localizedObjectAnnotations": [ { "mid": "/m/0bt9lr", "name": "Dog", "score": 0.9669734, "boundingPoly": { "normalizedVertices": [ { "x": 0.6035543, "y": 0.1357359 }, { "x": 0.98546547, "y": 0.1357359 }, { "x": 0.98546547, "y": 0.98426414 }, { "x": 0.6035543, "y": 0.98426414 } ] } }, ... { "mid": "/m/0jbk", "name": "Animal", "score": 0.58003056, "boundingPoly": { "normalizedVertices": [ { "x": 0.014534635, "y": 0.1357359 }, { "x": 0.37197515, "y": 0.1357359 }, { "x": 0.37197515, "y": 0.98426414 }, { "x": 0.014534635, "y": 0.98426414 } ] } } ] } ] }