Labels mithilfe der Befehlszeile in einem Bild erkennen

Auf dieser Seite erfahren Sie, wie Sie mit der REST-Benutzeroberfläche und dem Befehl curl drei Anfragen zur Elementerkennung und Annotation an die Vision API senden.

Mit der Vision API können Google-Technologien zur visuellen Erkennung leicht in Entwickleranwendungen eingebunden werden. Sie können Bilddaten und die gewünschten Elementtypen an die Vision API senden, die dann anhand der für Sie interessanten Bildattribute eine entsprechende Antwort zurückgibt. Weitere Informationen zu den angebotenen Elementtypen finden Sie in der Liste aller Vision API-Elemente.

Vorbereitung

  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.

Anfrage zur Annotation eines Bildes stellen

Nachdem Sie die Schritte unter Hinweis abgeschlossen haben, können Sie die Vision API zum Annotieren einer Bilddatei verwenden.

In diesem Beispiel senden Sie mit curl eine Anfrage mit folgendem Bild an die Vision API:

Cloud Storage-URI:

gs://cloud-samples-data/vision/using_curl/shanghai.jpeg

HTTPS-URL:

https://console.cloud.google.com/storage/browser/cloud-samples-data/vision/using_curl/shanghai.jpeg

Bild: Straße in Shanghai
Bildnachweis: Steve Long auf Unsplash.

JSON-Anfrage erstellen

Die folgende request.json-Datei zeigt, wie Sie drei images:annotate-Elemente anfordern und die Ergebnisse in der Antwort begrenzen.

Erstellen Sie die JSON-Anfragedatei mit folgendem Text und speichern Sie sie als Nur-Text-Datei request.json in Ihrem Arbeitsverzeichnis:

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

Anfrage senden

Sie verwenden curl und den Textinhalt von request.json, um die Anfrage an die Vision API zu senden. Geben Sie Folgendes in die Befehlszeile ein:

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

Antwort interpretieren

Sie sollten eine JSON-Antwort ähnlich wie diese sehen:

Der JSON-Text der Anfrage enthielt maxResults für jeden Annotationstyp. Daher sehen Sie in der JSON-Antwort dies:

Ergebnisse der Labelerkennung

  1. description: "People", score: 0.950
  2. description: "Street", score: 0.891
  3. description: "Mode of transport", score: 0.890
Bild einer Straße in Shanghai mit den Ergebnissen der Labelerkennung
Bildnachweis: Steve Long auf Unsplash (Anmerkungen hinzugefügt).

Ergebnisse der Texterkennung

  • Text: 牛牛面馆\n
  • vertices: (x: 159, y: 212), (x: 947, y: 212), (x: 947, y: 354), (x: 159, y: 354)
Bild einer Straße in Shanghai mit Texterkennungsergebnissen
Bildnachweis: Steve Long auf Unsplash (Anmerkungen hinzugefügt).

Ergebnisse der Objekterkennung

  • name: "Person", score: 0.944
  • normalized vertices: (x: 0.260, y: 0.468), (x: 0.407, y: 0.468), (x: 0.407, y: 0.895), (x: 0.260, y: 0.895)
Bild einer Straße in Shanghai mit den Ergebnissen der Objekterkennung
Bildnachweis: Steve Long auf Unsplash (Anmerkungen hinzugefügt).

Glückwunsch! Sie haben Ihre erste Anfrage an die Vision API gesendet.

Bereinigen

Löschen Sie das Google Cloud-Projekt mit den Ressourcen, damit Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.

Optional: Revoke credentials from the gcloud CLI.

gcloud auth revoke

Nächste Schritte