Google Cloud Vision-Erweiterung

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Version: 1.4.1

Inhalte und Text in Bildern mithilfe von Modellen für maschinelles Lernen erkennen

In diesem Artikel erfahren Sie, wie Sie diese Erweiterung konfigurieren und verwenden. Bevor Sie diese Erweiterung von einem API-Proxy verwenden, müssen Sie:

  1. Aktivieren Sie die Cloud Vision API für Ihr Dienstkonto.

  2. Wenn Sie Cloud Storage als Quelle Ihrer Bilder verwenden, müssen Sie dieser Erweiterung auch Zugriff auf Cloud Storage gewähren, wie in der Referenz zu Google Cloud Storage-Erweiterungen beschrieben.

  3. Wenn Sie ein Dienstkonto mit einer Berechtigung für Cloud Vision (und Cloud Storage, falls Sie es verwenden) haben, generieren Sie mit der GCP Console einen Schlüssel für das Dienstkonto.

  4. Verwenden Sie den Inhalt der resultierenden JSON-Schlüssel-JSON-Datei beim Hinzufügen und Konfigurieren der Erweiterung mithilfe der Konfigurationsreferenz.

Informationen zu Cloud Vision

Die Google Cloud Vision API verwendet Modelle für maschinelles Lernen, um Bilder zu analysieren. Sie können ein Modell für die API trainieren oder das integrierte Modell verwenden.

Mithilfe des integrierten Modells klassifiziert Cloud Vision Bilder in Kategorien wie „Wolkenkratzer“, „Segelboot“, „Löwe“ oder „Eiffelturm“. Sie erkennt Objekte, Gesichter, Logos und Sehenswürdigkeiten in Bildern und sucht nach Wörtern in Bildern.

Samples

Die folgenden Beispiele veranschaulichen, wie Sie die Unterstützung für Cloud Vision-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfigurieren.

Labels erkennen

Im folgenden Beispiel ruft die Aktion detectLabels der Erweiterung das Bild am image_uri ab und übergibt es zur Analyse an die Cloud Vision API. Die API prüft das Bild und bestimmt, welche Labels auf den Inhalt des Bildes angewendet werden.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Extension">
    <DisplayName>Cloud Vision Extension</DisplayName>
    <Connector>cloud-vision-extension-example</Connector>
    <Action>detectLabels</Action>
    <Input><![CDATA[
    {
        "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
    }
    ]]></Input>
    <Output>vision.labels.retrieved</Output>
</ConnectorCallout>

Die folgende Richtlinie Nachricht zuweisen verwendet den Wert der Variablen, mit denen die Antwort der Erweiterung gespeichert wird, um die Antwortnutzlast zuzuweisen.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Labels">
    <DisplayName>Get Image Labels</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{vision.labels.retrieved}</Payload>
    </Set>
</AssignMessage>

Bei einem Bild eines städtischen Gebiets mit einem sehr hohen Gebäude erhalten Sie möglicherweise eine Antwort wie die folgende:

{
  "labels": [
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "/m/0j_s4",
          "locale": "",
          "description": "metropolitan area",
          "score": 0.9868549704551697,
          "confidence": 0,
          "topicality": 0.9868549704551697,
          "boundingPoly": null
      },
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "/m/079cl",
          "locale": "",
          "description": "skyscraper",
          "score": 0.966157853603363,
          "confidence": 0,
          "topicality": 0.966157853603363,
          "boundingPoly": null
      }
  ]
}

Text erkennen

Im folgenden Beispiel ruft die Aktion detectText der Erweiterung das Bild am image_uri ab und übergibt es zur Analyse an die Cloud Vision API. Die API prüft das Bild und identifiziert den darin enthaltenen Text.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Text">
    <DisplayName>Cloud Vision Text</DisplayName>
    <Connector>cloud-vision-extension-example</Connector>
    <Action>detectText</Action>
    <Input><![CDATA[
    {
        "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
    }
    ]]></Input>
    <Output>vision.text.retrieved</Output>
</ConnectorCallout>

Die folgende Richtlinie Nachricht zuweisen verwendet den Wert der Variablen, mit denen die Antwort der Erweiterung gespeichert wird, um die Antwortnutzlast zuzuweisen.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Text">
    <DisplayName>Get Image Text</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{vision.text.retrieved}</Payload>
    </Set>
</AssignMessage>

Bei Bildern mit Schildern in einem Parkprotokoll erhalten Sie möglicherweise eine Antwort wie die folgende:

{
  "text": [
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "en",
          "description": "RESERVED\nVISITORPARKING\nPARKING\nONLY>\n$150 FINE\n",
          "score": 0,
          "confidence": 0,
          "topicality": 0,
          "boundingPoly": {
              "vertices": [
                  {
                      "x": 64,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 218
                  },
                  {
                      "x": 64,
                      "y": 218
                  }
              ]
          }
      },
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "",
          "description": "RESERVED",
          "score": 0,
          "confidence": 0,
          "topicality": 0,
          "boundingPoly": {
              "vertices": [
                  {
                      "x": 243,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 84
                  },
                  {
                      "x": 243,
                      "y": 84
                  }
              ]
          }
      }
   ]
}

Aktionen

detectLabels

Erkennt und extrahiert Informationen zu Entitäten im angegebenen Bild. Die erkannten Entitäten umfassen eine Vielzahl von Kategorien. Sie können diese Aktion beispielsweise verwenden, um Objekte, Orte, Aktivitäten, Tierarten, Produkte und mehr zu identifizieren.

Sehen Sie sich auch die Dokumentation zur Cloud Vision API an.

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
image_uri Bildquelle. Diese kann aus dem Internet oder aus Google Cloud Storage im Format gs://bucketname/filename stammen. Wenn die Quelle Google Cloud Storage ist, muss die Bilddatei öffentlich sein. String Keine. Ja.

Syntax

<Input><![CDATA[{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

Beispiel

Im folgenden Beispiel wird durch die Aktion detectLabels der Erweiterung das angegebene Bild zur Analyse an die Vision API gesendet.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>

Antwort

Ein Objekt mit einem labels-Array mit Labels, die Entitäten darstellen, die im Bild erkannt wurden. Weitere Informationen finden Sie unter Labels erkennen.

detectText

Erkennt und extrahiert Text aus dem angegebenen Bild.

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
image_uri Bildquelle. Diese kann aus dem Internet oder aus Google Cloud Storage im Format gs://bucketname/filename stammen. Wenn die Quelle Google Cloud Storage ist, muss die Bilddatei öffentlich sein. String Keine. Ja.

Syntax

<Input><![CDATA[
{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

Beispiel

Im folgenden Beispiel wird durch die Aktion detectText der Erweiterung das angegebene Bild zur Analyse an die Vision API gesendet.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>

Antwort

Ein Objekt mit einem text-Array des erkannten Textes. Weitere Informationen finden Sie unter Labels erkennen.

Konfigurationsreferenz

Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur Verwendung in API-Proxys konfigurieren und bereitstellen. Eine Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.

Häufige Erweiterungseigenschaften

Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.

Attribut Beschreibung Standard Erforderlich
name Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. Ja
packageName Name des Erweiterungspakets, wie von Apigee Edge angegeben. Ja
version Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. Ja
configuration Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. Ja