Librerie client di Vision

Questa pagina mostra come iniziare a utilizzare le librerie client di Cloud per l'API Vision. Per ulteriori informazioni sulle librerie client per le API Cloud, incluse quelle meno recenti dei client API di Google, consulta la spiegazione delle librerie client.

Installazione della libreria client

C#

Per ulteriori informazioni, consulta Configurazione di un ambiente di sviluppo C# .

Se utilizzi Visual Studio 2017 o versioni successive, apri la finestra del gestore di pacchetti nuget e digita quanto segue:

Install-Package Google.Apis

Se utilizzi gli strumenti a riga di comando di .NET Core per installare le dipendenze, esegui il comando seguente:

dotnet add package Google.Apis

Go

Per ulteriori informazioni, consulta Configurazione di un ambiente di sviluppo Go.

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

Java

Per ulteriori informazioni, consulta Configurazione di un ambiente di sviluppo Java.

Se utilizzi Maven, aggiungi quanto segue al tuo file pom.xml. Per ulteriori informazioni sulle BOM, consulta BOM delle librerie di Google Cloud.

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

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

Se utilizzi Gradle, aggiungi quanto segue alle dipendenze:

implementation 'com.google.cloud:google-cloud-vision:3.39.0'

Se utilizzi sbt, aggiungi quanto segue alle dipendenze:

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

Se usi Visual Studio Code, IntelliJ o Eclipse, puoi aggiungere librerie client al progetto utilizzando i seguenti plug-in IDE:

I plug-in forniscono funzionalità aggiuntive, come la gestione delle chiavi per gli account di servizio. Per informazioni dettagliate, consulta la documentazione di ciascun plug-in.

Node.js

Per ulteriori informazioni, vedi Configurazione di un ambiente di sviluppo Node.js.

npm install --save @google-cloud/vision

PHP

Per ulteriori informazioni, vedi Utilizzo di PHP su Google Cloud.

composer require google/apiclient

Python

Per ulteriori informazioni, consulta Configurazione di un ambiente di sviluppo Python.

pip install --upgrade google-cloud-vision

Ruby

Per ulteriori informazioni, consulta Configurazione di un ambiente di sviluppo Ruby.

gem install google-api-client

Configurazione dell'autenticazione

Per eseguire la libreria client devi prima configurare l'autenticazione. Un modo per farlo è creare un account di servizio e impostare una variabile d'ambiente, come illustrato nei passaggi seguenti. Per altri metodi di autenticazione, consulta la pagina Autenticazione come account di servizio.

Console

Crea un account di servizio:

  1. Nella console Google Cloud, vai alla pagina Crea account di servizio.

    Vai a Crea account di servizio
  2. Seleziona il progetto.
  3. Nel campo Nome account di servizio, inserisci un nome. La console Google Cloud compila il campo ID account di servizio in base a questo nome.

    Nel campo Descrizione account di servizio, inserisci una descrizione. Ad esempio, Service account for quickstart.

  4. Fai clic su Crea e continua.
  5. Fai clic su Fine per completare la creazione dell'account di servizio.

    Non chiudere la finestra del browser. La utilizzerai nel passaggio successivo.

Crea una chiave dell'account di servizio:

  1. Nella console Google Cloud, fai clic sull'indirizzo email dell'account di servizio che hai creato.
  2. Fai clic su Chiavi.
  3. Fai clic su Aggiungi chiave, quindi su Crea nuova chiave.
  4. Fai clic su Crea. Un file della chiave JSON viene scaricato sul computer.
  5. Fai clic su Chiudi.

gcloud

Configura l'autenticazione:

  1. Crea l'account di servizio:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    Sostituisci SERVICE_ACCOUNT_NAME con un nome per l'account di servizio.

  2. Genera il file della chiave:

    gcloud iam service-accounts keys create FILE_NAME.json --iam-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

    Sostituisci quanto segue:

    • FILE_NAME: un nome per il file della chiave
    • SERVICE_ACCOUNT_NAME: il nome dell'account di servizio.
    • PROJECT_ID: l'ID progetto in cui hai creato l'account di servizio

Fornisci le credenziali di autenticazione al codice dell'applicazione impostando la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS. Questa variabile si applica solo alla sessione di shell attuale. Se vuoi che la variabile venga applicata a future sessioni shell, impostala nel file di avvio della shell, ad esempio nel file ~/.bashrc o ~/.profile.

Linux o macOS

export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"

Sostituisci KEY_PATH con il percorso del file JSON che contiene le tue credenziali.

Ad esempio:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

Windows

Per PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"

Sostituisci KEY_PATH con il percorso del file JSON che contiene le tue credenziali.

Ad esempio:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"

Per il prompt dei comandi:

set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH

Sostituisci KEY_PATH con il percorso del file JSON che contiene le tue credenziali.

Utilizzo della libreria client

Il seguente esempio mostra come utilizzare la libreria client.

Go

Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di Vision utilizzando le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'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

Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Vision utilizzando le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'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 {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    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.format("Error: %s%n", res.getError().getMessage());
          return;
        }

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

Node.js

Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vision utilizzando le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'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));
}
quickstart();

Python

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vision utilizzando le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.

import io
import os

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

# 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 = vision.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)

Risorse aggiuntive

Librerie client aggiuntive

Oltre alle librerie indicate sopra, Spring Cloud GCP è disponibile per le applicazioni Java. L'API Spring Vision ti consente di utilizzare Cloud Vision in qualsiasi applicazione creata con il Spring Framework.

Per iniziare, scopri come aggiungere Spring Cloud Vision alla tua applicazione.

Provalo

Se non hai mai utilizzato Google Cloud, crea un account per valutare le prestazioni dell'API Cloud Vision in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova l'API Cloud Vision gratuitamente