L'API Cloud Vision peut exécuter des annotations et des services de détection hors connexion (asynchrone) d'un grand nombre de fichiers image à l'aide de n'importe quel type de fonctionnalités de l'API. Par exemple, vous pouvez spécifier une ou plusieurs fonctionnalités de l'API Cloud Vision (telles que TEXT_DETECTION
, LABEL_DETECTION
ou LANDMARK_DETECTION
) pour un seul lot d'images.
Les résultats d'une requête par lot hors connexion sont écrits dans un fichier JSON créé dans le bucket Cloud Storage spécifié.
Limites
L'API Vision accepte jusqu'à 2 000 fichiers image. Un lot plus volumineux de fichiers image renverra une erreur.
Types de fonctionnalités actuellement compatibles
Type de caractéristique | |
---|---|
CROP_HINTS |
Suggère des sommets pour cadrer une zone d'une image. |
DOCUMENT_TEXT_DETECTION |
Exécute la reconnaissance optique de caractères (OCR) sur des images de texte dense, telles que des documents (PDF/TIFF) et des images contenant du texte manuscrit.
TEXT_DETECTION peut être utilisé pour les images de texte épars.
Prioritaire lorsque DOCUMENT_TEXT_DETECTION et TEXT_DETECTION sont présents.
|
FACE_DETECTION |
Détecte les visages dans l'image. |
IMAGE_PROPERTIES |
Calcule un ensemble de propriétés d'image, telles que les couleurs dominantes de l'image. |
LABEL_DETECTION |
Ajoute des libellés en fonction du contenu de l'image. |
LANDMARK_DETECTION |
Détecte les points de repères géographiques dans l'image. |
LOGO_DETECTION |
Détecte les logos d'entreprise dans l'image. |
OBJECT_LOCALIZATION |
Détecte et extrait plusieurs objets dans une image. |
SAFE_SEARCH_DETECTION |
Exécute des requêtes SafeSearch pour détecter du contenu potentiellement dangereux ou indésirable. |
TEXT_DETECTION |
Effectue une reconnaissance optique des caractères (OCR) sur le texte de l'image.
La détection de texte est optimisée pour les zones de texte épars dans une image plus grande.
Si l'image est un document au format PDF ou TIFF au texte dense, ou s'il contient du texte manuscrit, utilisez plutôt DOCUMENT_TEXT_DETECTION .
|
WEB_DETECTION |
Détecte des entités thématiques, telles que des actualités, des événements ou des célébrités dans l'image, et trouve des images similaires sur le Web en s'appuyant sur la puissance de la fonctionnalité de Recherche d'images de Google. |
Exemple de code
Utilisez les exemples de code suivants pour exécuter des services d'annotation hors connexion sur un lot de fichiers image dans Cloud Storage.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du guide de démarrage rapide de Vision à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Vision en langage Java.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vision à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Vision en langage Node.js.
Pour vous authentifier auprès de Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le guide de démarrage rapide de Vision à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Vision en langage Python.
Pour vous authentifier auprès de Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Réponse
Une requête réussie renvoie des fichiers JSON de réponse dans le bucket Cloud Storage indiqué dans l'exemple de code. Le nombre de réponses par fichier JSON est dicté par batch_size
dans l'exemple de code.
La réponse renvoyée est similaire aux réponses habituelles de la fonctionnalité API Cloud Vision, en fonction des fonctionnalités que vous demandez pour une image.
Les réponses suivantes affichent des annotations LABEL_DETECTION
et TEXT_DETECTION
pour image1.png
, des annotations IMAGE_PROPERTIES
pour image2.jpg
et des annotations OBJECT_LOCALIZATION
pour image3.jpg
.
La réponse contient également un champ context
indiquant l'URI du fichier.
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 } ] } } ] } ] }