Detecta etiquetas en una imagen mediante la línea de comandos
En esta página, se muestra cómo enviar tres solicitudes de anotación y detección de características a la API de Vision mediante la interfaz de REST y el comando curl
.
La API de Vision permite la integración sencilla de las tecnologías de reconocimiento de la visión de Google en las aplicaciones de desarrollador. Puedes enviar los datos de imagen y los tipos de características deseados a la API de Vision, que luego muestra una respuesta correspondiente en función de los atributos de imagen que te interesan. Para obtener más información sobre los tipos de características que se ofrecen, consulta la Lista de todas las características de la API de Vision.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vision API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable vision.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/storage.objectViewer
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: Your project ID.USER_IDENTIFIER
: The identifier for your user account. For example,myemail@example.com
.ROLE
: The IAM role that you grant to your user account.
-
Install the Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vision API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable vision.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/storage.objectViewer
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: Your project ID.USER_IDENTIFIER
: The identifier for your user account. For example,myemail@example.com
.ROLE
: The IAM role that you grant to your user account.
- tres resultados
labelAnnotations
- un resultado
textAnnotations
(abreviado para mayor claridad) - un resultado
localizedObjectAnnotations
- descripción: “Personas” (People), puntaje: 0.950
- descripción: “Calle” (Street), puntaje: 0.891
- descripción: “Modo de transporte” (Mode of transport), puntaje: 0.890
- texto: 牛牛面馆\n
- vértices: (x: 159, y: 212), (x: 947, y: 212), (x: 947, y: 354), (x: 159, y: 354)
- nombre: “Persona” (Person), puntuación: 0.944
- vértices normalizados: (x: 0.260, y: 0.468), (x: 0.407, y: 0.468), (x: 0.407, y: 0.895), (x: 0.260, y: 0.895)
- Ve una lista de todos los tipos de funciones y sus usos.
- Comienza a usar la API de Vision en el idioma que prefieras mediante una biblioteca cliente de esta API.
- Usa las guías prácticas para obtener más información sobre funciones específicas, ver ejemplos de anotaciones y obtener anotaciones para un archivo o una imagen individuales.
- Obtén más información sobre la anotación por lotes para imágenes y archivos (PDF, TIFF y GIF).
- Explora una lista completa de las muestras de código de la biblioteca cliente.
Crea una solicitud de anotación de imagen
Después de completar los pasos de la sección Antes de comenzar, puedes usar la API de Vision para anotar un archivo de imagen.
En este ejemplo, se usa curl para enviar una solicitud a la API de Vision mediante la siguiente imagen:
URI de Cloud Storage
gs://cloud-samples-data/vision/using_curl/shanghai.jpeg
URL HTTPS:
https://console.cloud.google.com/storage/browser/cloud-samples-data/vision/using_curl/shanghai.jpeg

Crea el JSON de la solicitud
En el siguiente archivo request.json
, se muestra cómo solicitar tres características de images:annotate
y limitar los resultados en la respuesta.
Crea el archivo de solicitud JSON con el siguiente texto y guárdalo como un archivo de texto sin formato request.json
en tu directorio de trabajo:
request.json
{ "requests": [ { "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/using_curl/shanghai.jpeg" } }, "features": [ { "type": "LABEL_DETECTION", "maxResults": 3 }, { "type": "OBJECT_LOCALIZATION", "maxResults": 1 }, { "type": "TEXT_DETECTION", "maxResults": 1, "model": "builtin/latest" } ] } ] }
Envía la solicitud
Puedes usar curl y el contenido del cuerpo de request.json
para enviar la solicitud a la API de Vision. Ingresa lo siguiente en la línea de comandos:
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" \ https://vision.googleapis.com/v1/images:annotate -d @request.json
Interpreta la respuesta
Deberías ver una respuesta JSON similar a la que se muestra a continuación.
En el cuerpo JSON de la solicitud se especificó maxResults
para cada tipo de anotación.
Por lo tanto, en la respuesta JSON verás lo que se muestra a continuación:
Resultados de detección de etiquetas

Resultados de detección de texto

Resultados de detección de objetos

¡Felicitaciones! Enviaste tu primera solicitud a la API de Vision.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página, borra el proyecto de Google Cloud que tiene los recursos.
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke