L'API Vision può eseguire servizi di rilevamento offline (asincroni) e annotare una grande quantità di file immagine utilizzando qualsiasi tipo di funzionalità di Vision. Ad esempio, puoi specificare una o più funzionalità dell'API Vision (come TEXT_DETECTION
, LABEL_DETECTION
e LANDMARK_DETECTION
) per un singolo gruppo 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 gruppo di file immagine di grandi dimensioni restituirà un errore.
Tipi di funzionalità attualmente supportate
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 servizi di annotazione offline su un gruppo di file immagine in Cloud Storage.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella Guida rapida all'API Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
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 normali risposte delle funzionalità dell'API Vision, a seconda delle funzionalità richieste per un'immagine.
Le seguenti risposte mostrano le annotazioni LABEL_DETECTION
e TEXT_DETECTION
per image1.png
,
le annotazioni IMAGE_PROPERTIES
per image2.jpg
e le 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 } ] } } ] } ] }