Rozszerzenie Google Cloud Vision

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info

Wersja: 2.0.2

Odkrywanie treści i tekstu na obrazach za pomocą modeli uczenia maszynowego.

Te treści zawierają informacje o konfigurowaniu i używaniu tego rozszerzenia. Zanim użyjesz tego rozszerzenia w proxy interfejsu API, musisz:

  1. Włącz interfejs Cloud Vision API na koncie usługi.

  2. Jeśli jako źródło obrazów będziesz używać Cloud Storage, musisz też przyznać temu rozszerzeniu dostęp do Cloud Storage zgodnie z opisem w dokumentacji rozszerzenia Google Cloud Storage.

  3. Jeśli masz konto usługi z uprawnieniami do Cloud Vision (i Cloud Storage, jeśli z niego korzystasz), użyj konsoli Google Cloud, aby wygenerować klucz do konta usługi.

  4. Podczas dodawania i konfigurowania rozszerzenia za pomocą dokumentacji konfiguracji użyj zawartości utworzonego pliku JSON z kluczem.

Informacje o Cloud Vision

Google Cloud Vision API korzysta z modeli uczenia maszynowego do analizowania obrazów. Możesz wytrenować model, który będzie używany przez interfejs API, lub skorzystać z wbudowanego modelu.

Korzystając z wbudowanego modelu, Cloud Vision klasyfikuje obrazy w kategoriach takich jak „wieżowiec”, „żaglówka”, „lew” czy „wieża Eiffla”. Wykrywa obiekty, twarze, logo i punkty orientacyjne na obrazach oraz lokalizuje słowa na obrazach.

Przykłady

Poniższe przykłady pokazują, jak skonfigurować obsługę działań rozszerzenia Cloud Vision za pomocą zasady ExtensionCallout.

Wykrywanie etykiet

W tym przykładzie działanie detectLabels rozszerzenia pobiera obraz z adresu image_uri i przekazuje go do interfejsu Cloud Vision API w celu analizy. Interfejs API przeanalizuje obraz i określi, które etykiety pasują do jego treści.

<?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>

Poniższa zasada Assign Message (Przypisz wiadomość) używa wartości zmiennej przechowującej odpowiedź rozszerzenia do przypisania ładunku odpowiedzi.

<?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>

Jeśli podasz obraz obszaru miejskiego z bardzo wysokim budynkiem, możesz otrzymać odpowiedź podobną do tej:

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

Wykrywanie tekstu

W poniższym przykładzie działanie detectText rozszerzeń pobiera obraz z image_uri i przekazuje go do interfejsu Cloud Vision API w celu analizy. Interfejs API przeanalizuje obraz i wykryje na nim tekst.

<?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>

Poniższa zasada Assign Message (Przypisz wiadomość) używa wartości zmiennej przechowującej odpowiedź rozszerzenia do przypisania ładunku odpowiedzi.

<?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>

W przypadku obrazu zawierającego znaki na parkingu możesz otrzymać odpowiedź podobną do tej:

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

Działania

detectLabels

Wykrywa i wyodrębnia informacje o elementach na określonym obrazie. Wykryte encje należą do szerokiej gamy kategorii. Możesz na przykład użyć tej czynności, aby zidentyfikować obiekty, lokalizacje, działania, gatunki zwierząt, produkty i inne elementy.

Zapoznaj się też z dokumentacją Cloud Vision API.

Parametry żądania

Parametr Opis Typ Domyślny Wymagane
image_uri Źródło obrazu. Może to być adres internetowy lub adres w Google Cloud Storage (format: gs://bucketname/filename). Jeśli źródłem jest Google Cloud Storage, plik obrazu musi być publiczny. Ciąg znaków Brak. Tak.

Składnia

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

Przykład

W tym przykładzie działanie detectLabels rozszerzenia wysyła określony obraz do interfejsu Vision API w celu analizy.

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

Odpowiedź

Obiekt zawierający tablicę labels etykiet reprezentujących jednostki wykryte na obrazie. Więcej informacji znajdziesz w artykule Wykrywanie etykiet.

detectText

Wykrywa i wyodrębnia tekst z określonego obrazu.

Parametry żądania

Parametr Opis Typ Domyślny Wymagane
image_uri Źródło obrazu. Może to być adres internetowy lub adres w Google Cloud Storage (format: gs://bucketname/filename). Jeśli źródłem jest Google Cloud Storage, plik obrazu musi być publiczny. Ciąg znaków Brak. Tak.

Składnia

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

Przykład

W tym przykładzie działanie detectText rozszerzenia wysyła określony obraz do interfejsu Vision API w celu analizy.

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

Odpowiedź

Obiekt zawierający tablicę text wykrytego tekstu. Więcej informacji znajdziesz w artykule Wykrywanie etykiet.

Odwołanie do konfiguracji

Podczas konfigurowania i wdrażania tego rozszerzenia do użycia w proxy interfejsów API postępuj zgodnie z tymi instrukcjami. Instrukcje konfigurowania rozszerzenia za pomocą konsoli Apigee znajdziesz w artykule Dodawanie i konfigurowanie rozszerzenia.

Wspólne właściwości rozszerzeń

Dla każdego rozszerzenia dostępne są poniższe właściwości.

Usługa Opis Domyślnie Wymagany
name Nazwa nadana konfiguracji rozszerzenia. Brak Tak
packageName Nazwa pakietu rozszerzeń podana przez Apigee Edge. Brak Tak
version Numer wersji pakietu rozszerzenia, z którego konfigurujesz rozszerzenie. Brak Tak
configuration Wartość konfiguracji specyficzna dla dodawanego rozszerzenia. Zobacz Właściwości tego pakietu rozszerzeń Brak Tak