Ekstensi Google Cloud Vision

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Versi: 2.0.0

Temukan konten dan teks dalam gambar menggunakan model machine learning.

Konten ini memberikan referensi untuk mengonfigurasi dan menggunakan ekstensi ini. Sebelum menggunakan ekstensi ini dari proxy API, Anda harus:

  1. Aktifkan Cloud Vision API untuk akun layanan Anda.

  2. Jika akan menggunakan Cloud Storage sebagai sumber gambar, Anda juga harus memberikan akses untuk ekstensi ini ke Cloud Storage seperti yang dijelaskan dalam referensi Ekstensi Google Cloud Storage.

  3. Jika Anda memiliki akun layanan yang memiliki izin untuk Cloud Vision (dan Cloud Storage, jika Anda menggunakannya), gunakan GCP Console untuk membuat kunci untuk akun layanan tersebut.

  4. Gunakan konten file JSON kunci yang dihasilkan saat menambahkan dan mengonfigurasi ekstensi menggunakan referensi konfigurasi.

Tentang Cloud Vision

Google Cloud Vision API menggunakan model machine learning untuk menganalisis gambar. Anda dapat melatih model untuk digunakan API atau menggunakan model bawaan.

Dengan menggunakan model bawaan, Cloud Vision mengklasifikasikan gambar ke dalam kategori seperti "pencakar langit", "perahu layar", "singa", atau "Menara Eiffel". API ini mendeteksi objek, wajah, logo, dan tempat terkenal dalam gambar, serta menemukan kata-kata yang terdapat dalam gambar.

Contoh

Contoh berikut menggambarkan cara mengonfigurasi dukungan untuk tindakan ekstensi Cloud Vision menggunakan kebijakan ExtensionCallout.

Mendeteksi label

Dalam contoh berikut, tindakan detectLabels ekstensi mendapatkan gambar di image_uri dan meneruskannya ke Cloud Vision API untuk dianalisis. API akan memeriksa gambar dan menentukan label mana yang berlaku untuk konten gambar.

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

Kebijakan Tetapkan Pesan berikut menggunakan nilai variabel yang menyimpan respons ekstensi untuk menetapkan payload respons.

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

Dengan gambar area perkotaan yang berisi bangunan yang sangat tinggi, Anda mungkin menerima respons seperti berikut:

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

Mendeteksi teks

Dalam contoh berikut, tindakan detectText ekstensi mendapatkan gambar di image_uri dan meneruskannya ke Cloud Vision API untuk dianalisis. API akan memeriksa gambar, mengidentifikasi teks dalam gambar.

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

Kebijakan Tetapkan Pesan berikut menggunakan nilai variabel yang menyimpan respons ekstensi untuk menetapkan payload respons.

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

Dengan gambar yang berisi tanda di log parkir, Anda mungkin menerima respons seperti berikut:

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

Tindakan

detectLabels

Mendeteksi dan mengekstrak informasi tentang entitas dalam gambar yang ditentukan. Entity yang terdeteksi mencakup berbagai kategori yang luas. Misalnya, gunakan tindakan ini untuk mengidentifikasi objek, lokasi, aktivitas, spesies hewan, produk, dan lainnya.

Selain itu, pastikan untuk melihat dokumentasi Cloud Vision API.

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
image_uri Sumber gambar. Sumber ini dapat berasal dari Internet atau Google Cloud Storage (format: gs://bucketname/filename). Jika sumbernya adalah Google Cloud Storage, file gambar harus bersifat publik. String Tidak ada. Ya.

Sintaksis

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

Contoh

Dalam contoh berikut, tindakan detectLabels ekstensi mengirimkan gambar yang ditentukan ke Vision API untuk dianalisis.

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

Respons

Objek yang berisi array label labels yang mewakili entity yang terdeteksi dalam gambar. Untuk mengetahui informasi selengkapnya, lihat Mendeteksi label.

detectText

Mendeteksi dan mengekstrak teks dari gambar yang ditentukan.

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
image_uri Sumber gambar. Sumber ini dapat berasal dari Internet atau Google Cloud Storage (format: gs://bucketname/filename). Jika sumbernya adalah Google Cloud Storage, file gambar harus bersifat publik. String Tidak ada. Ya.

Sintaksis

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

Contoh

Dalam contoh berikut, tindakan detectText ekstensi mengirimkan gambar yang ditentukan ke Vision API untuk dianalisis.

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

Respons

Objek yang berisi array text teks yang terdeteksi. Untuk mengetahui informasi selengkapnya, lihat Mendeteksi label.

Referensi Konfigurasi

Gunakan hal berikut saat Anda mengonfigurasi dan men-deploy ekstensi ini untuk digunakan di proxy API. Untuk mengetahui langkah-langkah mengonfigurasi ekstensi menggunakan konsol Apigee, lihat Menambahkan dan mengonfigurasi ekstensi.

Properti ekstensi umum

Properti berikut ada untuk setiap ekstensi.

Properti Deskripsi Default Wajib
name Nama yang Anda berikan pada konfigurasi ekstensi ini. Tidak ada Ya
packageName Nama paket ekstensi seperti yang diberikan oleh Apigee Edge. Tidak ada Ya
version Nomor versi untuk paket ekstensi tempat Anda mengonfigurasi ekstensi. Tidak ada Ya
configuration Nilai konfigurasi khusus untuk ekstensi yang Anda tambahkan. Lihat Properti untuk paket ekstensi ini Tidak ada Ya