Démarrage rapide avec les bibliothèques clientes

Cette page vous explique comment utiliser l'API Cloud Vision dans votre langage de programmation favori.

Avant de commencer

vision-json.googleapis.com Cloud Vision API SERVICE_ACCOUNT env_var
  1. Connectez-vous à votre compte Google.

    Si vous n'en avez pas encore, vous devez en créer un.

  2. Dans Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Cloud.

    Accéder à la page de sélection du projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

Installer la bibliothèque cliente

C#

Pour savoir comment configurer votre environnement de développement C#, consultez le guide de configuration d'un environnement de développement C#.
Install-Package Google.Cloud.Vision.V1 -Pre

Go

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

Java

Pour savoir comment configurer votre environnement de développement Java, consultez le guide de configuration d'un environnement de développement Java.

Si vous utilisez Maven, ajoutez les lignes suivantes à votre fichier pom.xml :

<dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>com.google.cloud</groupId>
          <artifactId>libraries-bom</artifactId>
          <version>4.3.0</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>

    <dependencies>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-vision</artifactId>
      </dependency>
    

Si vous utilisez Gradle, ajoutez les éléments suivants à vos dépendances :

compile 'com.google.cloud:google-cloud-vision:1.99.2'

Si vous utilisez sbt, ajoutez les éléments suivants à vos dépendances :

libraryDependencies += "com.google.cloud" % "google-cloud-vision" % "1.99.2"

Si vous utilisez IntelliJ ou Eclipse, vous pouvez ajouter des bibliothèques clientes à votre projet à l'aide des plug-ins IDE suivants :

Les plug-ins offrent des fonctionnalités supplémentaires, telles que la gestion des clés pour les comptes de service. Reportez-vous à la documentation de chaque plug-in pour plus de détails.

Node.js

Pour savoir comment configurer votre environnement de développement Node.js, consultez le guide de configuration d'un environnement de développement Node.js.
npm install --save @google-cloud/vision

PHP

composer require google/cloud-vision

Python

Pour savoir comment configurer votre environnement de développement Python, consultez le guide de configuration d'un environnement de développement Python.
pip install --upgrade google-cloud-vision

Ruby

Pour savoir comment configurer votre environnement de développement Ruby, consultez le guide de configuration d'un environnement de développement Ruby.
gem install google-cloud-vision

Détection de thèmes

Vous pouvez maintenant utiliser l'API Vision pour demander des informations sur une image, telle que la détection de thèmes. Exécutez le code suivant pour effectuer votre première demande de détection de thèmes sur une image :

C#

Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Vision à l'aide des bibliothèques clientes. Pour plus d'informations, consultez la documentation de référence de l'API Vision 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

Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Vision à l'aide des bibliothèques clientes. Pour plus d'informations, consultez la documentation de référence de l'API Vision 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

Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Vision à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vision 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

Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Vision à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vision 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

Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Vision à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vision 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

Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Vision à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vision 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

Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Vision à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vision 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

Félicitations ! Vous avez envoyé votre première requête à l'API Vision.

Comment ça s'est passé ?

Effectuer un nettoyage

Afin d'éviter que des frais ne soient facturés sur votre compte Google Cloud Platform pour les ressources utilisées dans ce démarrage rapide, procédez comme suit :

  • Utilisez Cloud Console pour supprimer votre projet, si vous n'en avez plus besoin.

Étape suivante

Obtenez davantage d'informations sur les bibliothèques clientes de l'API Cloud Vision.