La API Vision puede ejecutar servicios de detección sin conexión (asíncronos) y de anotación de un gran lote de archivos de imagen mediante cualquier tipo de función de Vision. Por ejemplo, puede especificar una o varias funciones de la API Vision (como TEXT_DETECTION
, LABEL_DETECTION
y LANDMARK_DETECTION
) para un solo lote de imágenes.
La salida de una solicitud por lotes sin conexión se escribe en un archivo JSON creado en el segmento de Cloud Storage especificado.
Limitaciones
La API Vision acepta hasta 2000 archivos de imagen. Si se envía un lote más grande de archivos de imagen, se devolverá un error.
Tipos de funciones admitidos actualmente
Tipo de característica | |
---|---|
CROP_HINTS |
Determina los vértices sugeridos de una región de recorte en la imagen. |
DOCUMENT_TEXT_DETECTION |
Aplica reconocimiento óptico de caracteres (OCR) en imágenes con mucho texto (por ejemplo, si incluyen escritura a mano o son documentos en formato PDF o TIFF).
TEXT_DETECTION se puede utilizar para mostrar imágenes cuyo texto esté disperso.
Tiene prioridad cuando tanto DOCUMENT_TEXT_DETECTION como TEXT_DETECTION están presentes.
|
FACE_DETECTION |
Detecta caras dentro de la imagen. |
IMAGE_PROPERTIES |
Calcula un conjunto de propiedades de la imagen, como los colores predominantes. |
LABEL_DETECTION |
Añade etiquetas en función del contenido de la imagen. |
LANDMARK_DETECTION |
Detecta puntos de referencia geográficos en la imagen. |
LOGO_DETECTION |
Detecta logotipos de empresa en la imagen. |
OBJECT_LOCALIZATION |
Detecta y extrae varios objetos de la imagen. |
SAFE_SEARCH_DETECTION |
Ejecuta Búsqueda Segura para detectar contenido potencialmente no seguro o no deseado. |
TEXT_DETECTION |
Aplica reconocimiento óptico de caracteres (OCR) en el texto de la imagen.
La detección de texto está optimizada para las partes en las que el texto está disperso dentro de una imagen más grande.
Si la imagen en cuestión es un documento (PDF/TIFF) o contiene un texto denso o escritura a mano, utiliza DOCUMENT_TEXT_DETECTION en su lugar.
|
WEB_DETECTION |
Detecta entidades temáticas en una imagen (como noticias, eventos o personalidades famosas) y busca imágenes similares en Internet mediante la tecnología de la Búsqueda de Google Imágenes. |
Código de muestra
Usa los siguientes ejemplos de código para ejecutar servicios de anotación sin conexión en un lote de archivos de imagen de Cloud Storage.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración de Java que se indican en la guía de inicio rápido de la API Vision con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Vision en Java.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración de Node.js que se indican en la guía de inicio rápido de Vision con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vision.
Para autenticarte en Vision, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Antes de probar este ejemplo, sigue las instrucciones de configuración de Python que se indican en la guía de inicio rápido de Vision con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de Vision.
Para autenticarte en Vision, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Respuesta
Si la solicitud se realiza correctamente, se devuelven archivos JSON de respuesta en el segmento de Cloud Storage que hayas indicado en el código de ejemplo. El número de respuestas por archivo JSON
se indica en batch_size
en el ejemplo de código.
La respuesta devuelta es similar a las respuestas de las funciones de la API Vision normales, en función de las funciones que solicites para una imagen.
Las siguientes respuestas muestran anotaciones LABEL_DETECTION
y TEXT_DETECTION
para image1.png
, anotaciones IMAGE_PROPERTIES
para image2.jpg
y anotaciones OBJECT_LOCALIZATION
para image3.jpg
.
La respuesta también contiene un campo context
que muestra el URI del archivo.
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 } ] } } ] } ] }