Ekstensi Google Cloud Vision

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

Versi: 1.2.0

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

  4. Gunakan konten file JSON utama 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 menggunakan atau menggunakan model bawaan.

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

Contoh

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

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 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 sebuah area perkotaan dengan gedung yang sangat tinggi di dalamnya, Anda mungkin menerima jawaban sebagai 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, yang 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 mencakup berbagai kategori kategori. Misalnya, gunakan tindakan ini untuk mengidentifikasi objek, lokasi, aktivitas, spesies hewan, produk, dan banyak lagi.

Selain itu, pastikan untuk melihat dokumentasi Cloud Vision API.

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
image_uri Sumber gambar. Proses 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

Pada 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 artikel Mendeteksi label.

detectText

Mendeteksi dan mengekstrak teks dari gambar yang ditentukan.

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
image_uri Sumber gambar. Proses 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

Pada 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 artikel Mendeteksi label.

Referensi Konfigurasi

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