Guía de inicio rápido: usa bibliotecas cliente

En esta página se muestra cómo comenzar a usar la API de Cloud Vision en tu lenguaje de programación favorito.

Antes de comenzar

vision-json.googleapis.com Cloud Vision API SERVICE_ACCOUNT env_var
  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En GCP Console, en la página de selección de proyecto, selecciona o crea un proyecto de GCP.

    Ir a la página de selección de proyecto

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

v1-rev71-1.25.0https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/spanner/1.2.0https://cloud.spring.io/spring-cloud-static/spring-cloud-gcp/.RELEASE/

Instala la biblioteca cliente

C#

Para obtener más información sobre la configuración de tu entorno de desarrollo de C#, consulta Configura un entorno de desarrollo .NET.
Install-Package Google.Cloud.Vision.V1 -Pre

Go

go get -u cloud.google.com/go/vision/apiv1

Java

Para obtener más información sobre la configuración de tu entorno de desarrollo de Java, consulta Guía de configuración del entorno de desarrollo de Java.Si usas Maven, agrega lo siguiente al archivo pom.xml:
<dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>com.google.cloud</groupId>
          <artifactId>libraries-bom</artifactId>
          <version>4.1.0</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>

    <dependencies>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-vision</artifactId>
      </dependency>
    </dependencies>
Si usas Gradle, agrega lo siguiente a tus dependencias:
compile 'com.google.cloud:google-cloud-vision:1.99.1'
Si usas SBT, agrega lo siguiente a tus dependencias:
libraryDependencies += "com.google.cloud" % "google-cloud-vision" % "1.99.1"

Si usas IntelliJ o Eclipse, puedes agregarle bibliotecas cliente a tu proyecto mediante los siguientes complementos IDE:

Los complementos brindan funcionalidades adicionales, como administración de claves para las cuentas de servicio. Consulta la documentación de cada complemento para obtener más detalles.

Node.js

Para obtener más información sobre la configuración de tu entorno de programación de Node.js, consulta la guía de configuración del entorno de desarrollo de Node.js.
npm install --save @google-cloud/vision

PHP

composer require google/cloud-vision

Python

Para obtener más información sobre la configuración de tu entorno de programación de Python, consulta la guía de configuración del entorno de desarrollo de Python.
pip install --upgrade google-cloud-vision

Ruby

Para obtener más información sobre la configuración de tu entorno de desarrollo de Ruby, consulta Guía de configuración del entorno de desarrollo de Ruby.
gem install google-cloud-vision

Detección de etiquetas

Ahora puedes usar la API de Vision para solicitar información de una imagen, como la detección de etiquetas. Ejecuta el siguiente código para realizar tu primera solicitud de detección de etiquetas de imágenes:

C#

Antes de probar esta muestra, sigue las instrucciones de configuración de C# que se encuentran en la Guía de inicio rápido de la API de Vision sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para C#.


    using Google.Cloud.Vision.V1;
    using System;

    namespace GoogleCloudSamples
    {
        public class QuickStart
        {
            public static void Main(string[] args)
            {
                // Instantiates a client
                var client = ImageAnnotatorClient.Create();
                // Load the image file into memory
                var image = Image.FromFile("wakeupcat.jpg");
                // Performs label detection on the image file
                var response = client.DetectLabels(image);
                foreach (var annotation in response)
                {
                    if (annotation.Description != null)
                        Console.WriteLine(annotation.Description);
                }
            }
        }
    }

Go

Antes de probar esta muestra, sigue las instrucciones de configuración de Go que se encuentran en la Guía de inicio rápido de la API de Vision sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Go.


    // Sample vision-quickstart uses the Google Cloud Vision API to label an image.
    package main

    import (
    	"context"
    	"fmt"
    	"log"
    	"os"

    	vision "cloud.google.com/go/vision/apiv1"
    )

    func main() {
    	ctx := context.Background()

    	// Creates a client.
    	client, err := vision.NewImageAnnotatorClient(ctx)
    	if err != nil {
    		log.Fatalf("Failed to create client: %v", err)
    	}
    	defer client.Close()

    	// Sets the name of the image file to annotate.
    	filename := "../testdata/cat.jpg"

    	file, err := os.Open(filename)
    	if err != nil {
    		log.Fatalf("Failed to read file: %v", err)
    	}
    	defer file.Close()
    	image, err := vision.NewImageFromReader(file)
    	if err != nil {
    		log.Fatalf("Failed to create image: %v", err)
    	}

    	labels, err := client.DetectLabels(ctx, image, nil, 10)
    	if err != nil {
    		log.Fatalf("Failed to detect labels: %v", err)
    	}

    	fmt.Println("Labels:")
    	for _, label := range labels {
    		fmt.Println(label.Description)
    	}
    }
    

Java

Antes de probar esta muestra, sigue las instrucciones de configuración de Java que se encuentran en la Guía de inicio rápido de la API de Vision sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Java.

// Imports the Google Cloud client library

    import com.google.cloud.vision.v1.AnnotateImageRequest;
    import com.google.cloud.vision.v1.AnnotateImageResponse;
    import com.google.cloud.vision.v1.BatchAnnotateImagesResponse;
    import com.google.cloud.vision.v1.EntityAnnotation;
    import com.google.cloud.vision.v1.Feature;
    import com.google.cloud.vision.v1.Feature.Type;
    import com.google.cloud.vision.v1.Image;
    import com.google.cloud.vision.v1.ImageAnnotatorClient;
    import com.google.protobuf.ByteString;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.util.ArrayList;
    import java.util.List;

    public class QuickstartSample {
      public static void main(String... args) throws Exception {
        // Instantiates a client
        try (ImageAnnotatorClient vision = ImageAnnotatorClient.create()) {

          // The path to the image file to annotate
          String fileName = "./resources/wakeupcat.jpg";

          // Reads the image file into memory
          Path path = Paths.get(fileName);
          byte[] data = Files.readAllBytes(path);
          ByteString imgBytes = ByteString.copyFrom(data);

          // Builds the image annotation request
          List<AnnotateImageRequest> requests = new ArrayList<>();
          Image img = Image.newBuilder().setContent(imgBytes).build();
          Feature feat = Feature.newBuilder().setType(Type.LABEL_DETECTION).build();
          AnnotateImageRequest request = AnnotateImageRequest.newBuilder()
              .addFeatures(feat)
              .setImage(img)
              .build();
          requests.add(request);

          // Performs label detection on the image file
          BatchAnnotateImagesResponse response = vision.batchAnnotateImages(requests);
          List<AnnotateImageResponse> responses = response.getResponsesList();

          for (AnnotateImageResponse res : responses) {
            if (res.hasError()) {
              System.out.printf("Error: %s\n", res.getError().getMessage());
              return;
            }

            for (EntityAnnotation annotation : res.getLabelAnnotationsList()) {
              annotation.getAllFields().forEach((k, v) ->
                  System.out.printf("%s : %s\n", k, v.toString()));
            }
          }
        }
      }
    }

Node.js

Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js que se encuentran en la Guía de inicio rápido de la API de Vision sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Node.js.

async function quickstart() {
      // Imports the Google Cloud client library
      const vision = require('@google-cloud/vision');

      // Creates a client
      const client = new vision.ImageAnnotatorClient();

      // Performs label detection on the image file
      const [result] = await client.labelDetection('./resources/wakeupcat.jpg');
      const labels = result.labelAnnotations;
      console.log('Labels:');
      labels.forEach(label => console.log(label.description));
    }

PHP

Antes de probar esta muestra, sigue las instrucciones de configuración de PHP que se encuentran en la Guía de inicio rápido de la API de Vision sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para PHP.

# includes the autoloader for libraries installed with composer
    require __DIR__ . '/vendor/autoload.php';

    # imports the Google Cloud client library
    use Google\Cloud\Vision\V1\ImageAnnotatorClient;

    # instantiates a client
    $imageAnnotator = new ImageAnnotatorClient();

    # the name of the image file to annotate
    $fileName = 'test/data/wakeupcat.jpg';

    # prepare the image to be annotated
    $image = file_get_contents($fileName);

    # performs label detection on the image file
    $response = $imageAnnotator->labelDetection($image);
    $labels = $response->getLabelAnnotations();

    if ($labels) {
        echo("Labels:" . PHP_EOL);
        foreach ($labels as $label) {
            echo($label->getDescription() . PHP_EOL);
        }
    } else {
        echo('No label found' . PHP_EOL);
    }

Python

Antes de probar esta muestra, sigue las instrucciones de configuración de Python que se encuentran en la Guía de inicio rápido de la API de Vision sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Python.

import io
    import os

    # Imports the Google Cloud client library
    from google.cloud import vision
    from google.cloud.vision import types

    # Instantiates a client
    client = vision.ImageAnnotatorClient()

    # The name of the image file to annotate
    file_name = os.path.abspath('resources/wakeupcat.jpg')

    # Loads the image into memory
    with io.open(file_name, 'rb') as image_file:
        content = image_file.read()

    image = types.Image(content=content)

    # Performs label detection on the image file
    response = client.label_detection(image=image)
    labels = response.label_annotations

    print('Labels:')
    for label in labels:
        print(label.description)

Ruby

Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que se encuentran en la Guía de inicio rápido de la API de Vision sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Ruby.

# Imports the Google Cloud client library
    require "google/cloud/vision"

    # Instantiates a client
    image_annotator = Google::Cloud::Vision::ImageAnnotator.new

    # The name of the image file to annotate
    file_name = "./resources/cat.jpg"

    # Performs label detection on the image file
    response = image_annotator.label_detection image: file_name
    response.responses.each do |res|
      puts "Labels:"
      res.label_annotations.each do |label|
        puts label.description
      end
    end

Felicitaciones. Enviaste tu primera solicitud a la API de Vision.

¿Cómo te fue?

Realiza una limpieza

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud Platform por los recursos que usaste en esta guía de inicio rápido:

Próximos pasos

Obtén más información sobre nuestras bibliotecas cliente para la API de Cloud Vision.