Rileva le etichette in un'immagine utilizzando le librerie client

Questa pagina mostra come iniziare a utilizzare l'API Vision nel tuo linguaggio di programmazione preferito.


Per seguire le indicazioni dettagliate per questa attività direttamente nell'editor di Cloud Shell, fai clic su Procedura guidata:

Procedura guidata


Prima di iniziare

  1. 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.
  2. Install the Google Cloud CLI.

  3. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.

  4. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  5. Create or select a Google Cloud project.

    • 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.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vision API:

    gcloud services enable vision.googleapis.com
  8. 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, [email protected].
    • ROLE: the IAM role that you grant to your user account.
  9. Install the Google Cloud CLI.

  10. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.

  11. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  12. Create or select a Google Cloud project.

    • 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.

  13. Verify that billing is enabled for your Google Cloud project.

  14. Enable the Vision API:

    gcloud services enable vision.googleapis.com
  15. 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, [email protected].
    • ROLE: the IAM role that you grant to your user account.
  16. installa la libreria client

    Go

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

    Java

    Per ulteriori informazioni sulla configurazione dell'ambiente di sviluppo Java, consulta la Guida alla configurazione dell'ambiente di sviluppo Java.

    If you are using Maven, add the following to your pom.xml file. For more information about BOMs, see The Google Cloud Platform Libraries BOM.

    <dependencyManagement>   <dependencies>     <dependency>       <groupId>com.google.cloud</groupId>       <artifactId>libraries-bom</artifactId>       <version>26.66.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>

    If you are using Gradle, add the following to your dependencies:

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

    If you are using sbt, add the following to your dependencies:

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

    If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:

    The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.

    Node.js

    Per saperne di più sulla configurazione dell'ambiente di sviluppo Node.js, consulta la Guida alla configurazione dell'ambiente di sviluppo Node.js.

    npm install @google-cloud/vision

    Python

    Per ulteriori informazioni sulla configurazione dell'ambiente di sviluppo Python, consulta la Guida alla configurazione dell'ambiente di sviluppo Python.

    pip install --upgrade google-cloud-vision

    Esempi di rilevamento etichette

    Ora puoi utilizzare l'API Vision per richiedere informazioni da un'immagine, ad esempio il rilevamento delle etichette. Esegui il seguente codice per eseguire la prima richiesta di rilevamento delle etichette delle immagini.

    Go

    Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Vision per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Go.

    Per autenticarti in Vision, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

     // 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 per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Java.

    Per autenticarti in Vision, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

    // 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 di configurazione di Node.js nella guida rapida di Vision per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Node.js.

    Per autenticarti in Vision, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

    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 per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Python.

    Per autenticarti in Vision, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

     # Imports the Google Cloud client library from google.cloud import vision    def run_quickstart() -> vision.EntityAnnotation:     """Provides a quick start example for Cloud Vision."""      # Instantiates a client     client = vision.ImageAnnotatorClient()      # The URI of the image file to annotate     file_uri = "gs://cloud-samples-data/vision/label/wakeupcat.jpg"      image = vision.Image()     image.source.image_uri = file_uri      # 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)      return labels  

    Esegui il campione

    Per eseguire gli esempi precedenti, utilizza i seguenti comandi. Se hai clonato il repository GitHub per la lingua di esempio specifica, rimuovi il commento dalla prima riga:

    Vai

    # cd golang-samples/vision/vision_quickstart/ go run . 

    Java

    # cd java-docs-samples/vision/snippets/src/main/java/com/example/vision/quickstart/ javac QuickstartSample.java java QuickstartSample.java 

    Node.js

    # cd nodejs-docs-samples/vision/ node quickstart.js 

    Python

    # cd python-docs-samples/vision/snippets/quickstart python -c 'import quickstart; quickstart.run_quickstart()' 
    Complimenti! Hai inviato la tua prima richiesta a Vision.

    Com'è andata?

    Esegui la pulizia

    Per evitare che al tuo Account Google vengano addebitati costi relativi alle risorse utilizzate in questa guida rapida:

    Passaggi successivi

    Scopri di più sulle nostre librerie client dell'API Vision.