Ekstensi Google Cloud Vision

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

Versi: 1.4.1

Temukan konten dan teks dalam gambar menggunakan model machine learning.

Konten ini menyediakan 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 akun layanan.

  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 API agar dapat digunakan atau menggunakan model bawaan.

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

Contoh

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

Mendeteksi label

Pada 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 diterapkan pada 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 mempertimbangkan gambar area perkotaan dengan gedung yang sangat tinggi di dalamnya, 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
      }
  ]
}

Deteksi teks

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

Jika ada 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 entity dalam gambar yang ditentukan. Entitas yang terdeteksi tersedia di berbagai kategori. 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. File 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, baca bagian Mendeteksi label.

detectText

Mendeteksi dan mengekstrak teks dari gambar yang ditentukan.

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
image_uri Sumber gambar. File 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 dari teks yang terdeteksi. Untuk mengetahui informasi selengkapnya, baca bagian Mendeteksi label.

Referensi Konfigurasi

Gunakan hal berikut saat Anda mengonfigurasi dan men-deploy ekstensi ini untuk digunakan di proxy API. Untuk 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