Rileva le etichette in un'immagine utilizzando la riga di comando

Questa pagina mostra come inviare tre richieste di rilevamento e annotazione delle funzionalità all'API Vision utilizzando l'interfaccia REST e il comando curl.

L'API Vision consente di integrare facilmente le tecnologie di riconoscimento visivo di Google nelle applicazioni degli sviluppatori. Puoi inviare dati immagine e tipi di elementi desiderati all'API Vision, che restituisce una risposta corrispondente in base agli attributi dell'immagine che ti interessano. Per ulteriori informazioni sui tipi di funzionalità offerti, consulta l'elenco di tutte le funzionalità dell'API Vision.

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. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Vision API:

    gcloud services enable vision.googleapis.com
  7. 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 PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual role.
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. 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.

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Vision API:

    gcloud services enable vision.googleapis.com
  13. 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 PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual role.

Invia una richiesta di annotazione di immagine

Dopo aver completato i passaggi descritti in Prima di iniziare, puoi utilizzare l'API Vision per annotare un file immagine.

In questo esempio utilizzi curl per inviare una richiesta all'API Vision utilizzando la seguente immagine:

URI 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

Immagine di una strada di Shanghai.
Credito immagine: Steve Long su Unsplash.

Crea il file JSON della richiesta

Il seguente file request.json mostra come richiedere tre funzionalità images:annotate e limitare i risultati nella risposta.

Crea il file di richiesta JSON con il testo seguente e salvalo come request.json file di testo normale nella directory di lavoro:

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"
        }
      ]
    }
  ]
}

Invia la richiesta

Utilizzi curl e i contenuti del corpo di request.json per inviare la richiesta all'API Vision. Inserisci quanto segue nella riga di comando:

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 risposta

Dovresti visualizzare una risposta JSON simile a quella riportata di seguito.

Il corpo JSON della richiesta ha specificato maxResults per ogni tipo di annotazione. Di conseguenza, nel JSON della risposta vedrai quanto segue:

Risultati del rilevamento etichette

  1. descrizione: "Persone", punteggio: 0,950
  2. descrizione: "Strada", punteggio: 0,891
  3. descrizione: "Mezzo di trasporto", punteggio: 0,890
Immagine di una strada di Shanghai contenente i risultati del rilevamento delle etichette.
Credito immagine: Steve Long su Unsplash (annotazioni aggiunte).

Risultati del rilevamento testo

  • testo: 牛牛面馆\n
  • vertici: (x: 159, y: 212), (x: 947, y: 212), (x: 947, y: 354), (x: 159, y: 354)
Immagine di una strada di Shanghai contenente i risultati del rilevamento del testo.
Credito immagine: Steve Long su Unsplash (annotazioni aggiunte).

Risultati del rilevamento oggetti

  • nome: "Persona", punteggio: 0,944
  • vertici normalizzati: (x: 0,260, y: 0,468), (x: 0,407, y: 0,468), (x: 0,407, y: 0,895), (x: 0,260, y: 0,895)
Immagine di una strada di Shanghai contenente i risultati del rilevamento di oggetti.
Credito immagine: Steve Long su Unsplash (annotazioni aggiunte).

Complimenti! Hai inviato la tua prima richiesta all'API Vision.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate su questa pagina, elimina il progetto Google Cloud con le risorse.

Optional: Revoke credentials from the gcloud CLI.

gcloud auth revoke

Passaggi successivi

  • Visualizza un elenco di tutti i tipi di elementi e dei relativi utilizzi.
  • Inizia a utilizzare l'API Vision nella lingua che preferisci utilizzando una libreria client dell'API Vision.
  • Consulta le guide pratiche per scoprire di più su funzionalità specifiche, visualizzare esempi di annotazioni e ottenere annotazioni per un singolo file o un'immagine.
  • Scopri di più sull'annotazione collettiva di immagini e file (PDF/TIFF/GIF).
  • Sfoglia un elenco completo di esempi di codice della libreria client.