Google Cloud Vision Uzantısı

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Sürüm: 1.4.1

Makine öğrenimi modellerini kullanarak resimlerdeki içerikleri ve metinleri keşfedin.

Bu içerik, bu uzantıyı yapılandırmak ve kullanmak için referans sağlar. Bu uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:

  1. Hizmet hesabınız için Cloud Vision API'yi etkinleştirin.

  2. Görüntülerinizin kaynağı olarak Cloud Storage'ı kullanacaksanız Google Cloud Storage Uzantısı referansında açıklandığı gibi, Cloud Storage'a bu uzantı için erişim izni vermeniz de gerekir.

  3. Cloud Vision (ve kullanıyorsanız Cloud Storage) izni olan bir hizmet hesabınız varsa GCP Console'u kullanarak hizmet hesabı için anahtar oluşturun.

  4. Uzantıyı yapılandırma referansını kullanarak ekleyip yapılandırırken, elde edilen anahtar JSON dosyasının içeriğini kullanın.

Cloud Vision hakkında

Google Cloud Vision API, görüntüleri analiz etmek için makine öğrenimi modellerini kullanır. Bir modeli API'nin kullanması için eğitebilir veya yerleşik olarak bulunan modeli kullanabilirsiniz.

Cloud Vision, yerleşik modeli kullanarak görüntüleri "gökdelen", yelkenli, "aslan" veya "Eyfel Kulesi" gibi kategorilere ayırır. Resimlerdeki nesneleri, yüzleri, logoları ve önemli noktaları tespit eder ve görsellerdeki kelimelerin yerini tespit eder.

Sana Özel

Aşağıdaki örnekler, ExtensionCallout politikasını kullanarak Cloud Vision uzantı işlemleri için desteğin nasıl yapılandırılacağını gösterir.

Etiketleri algılama

Aşağıdaki örnekte, uzantının detectLabels işlemi, görüntüyü image_uri bölümüne alır ve analiz için Cloud Vision API'ye iletir. API resmi inceler ve resmin içeriğine hangi etiketlerin uygun olduğunu belirler.

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

Aşağıdaki Mesaj Ata politikası, yanıt yükünü atamak için uzantının yanıtını depolayan değişkenin değerini kullanır.

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

Çok yüksek bir binanın bulunduğu kentsel bir alan görüntüsü verildiğinde, aşağıdaki gibi bir yanıt alabilirsiniz:

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

Metin algıla

Aşağıdaki örnekte, detectText uzantıları işlemi resmi image_uri bölümüne alır ve analiz için Cloud Vision API'ye iletir. API, resimdeki metni tanımlayarak resmi inceler.

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

Aşağıdaki Mesaj Ata politikası, yanıt yükünü atamak için uzantının yanıtını depolayan değişkenin değerini kullanır.

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

Park kaydı günlüklerinde tabelalar içeren bir görüntü söz konusu olduğunda, aşağıdaki gibi bir yanıt alabilirsiniz:

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

İşlemler

detectLabels

Belirtilen resimdeki varlıklarla ilgili bilgileri tespit edip ayıklar. Algılanan öğeler, geniş bir kategori grubunda yer alır. Örneğin, nesneleri, konumları, etkinlikleri, hayvan türlerini, ürünleri ve daha fazlasını tanımlamak için bu işlemi kullanabilirsiniz.

Ayrıca, Cloud Vision API belgelerini de inceleyin.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Gerekli
image_uri Görselin kaynağı. Bu, internetten veya Google Cloud Storage'dan (biçim: gs://bucketname/filename) olabilir. Kaynak Google Cloud Storage ise resim dosyası herkese açık olmalıdır. Dize Yok. Evet.

Söz dizimi

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

Örnek

Aşağıdaki örnekte uzantının detectLabels işlemi, belirtilen görüntüyü analiz için Vision API'ye gönderir.

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

Yanıt

Resimde algılanan varlıkları temsil eden labels etiket dizisini içeren bir nesne. Daha fazla bilgi için Etiketleri algılama bölümüne bakın.

detectText

Belirtilen resimdeki metni algılayıp ayıklar.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Gerekli
image_uri Görselin kaynağı. Bu, internetten veya Google Cloud Storage'dan (biçim: gs://bucketname/filename) olabilir. Kaynak Google Cloud Storage ise resim dosyası herkese açık olmalıdır. Dize Yok. Evet.

Söz dizimi

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

Örnek

Aşağıdaki örnekte uzantının detectText işlemi, belirtilen görüntüyü analiz için Vision API'ye gönderir.

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

Yanıt

Algılanan metnin text dizisini içeren bir nesne. Daha fazla bilgi için Etiketleri algılama bölümüne bakın.

Yapılandırma Referansı

Bu uzantıyı API proxy'lerinde kullanmak üzere yapılandırırken ve dağıtırken aşağıdakileri kullanın. Apigee konsolunu kullanarak uzantı yapılandırma adımları için Uzantı ekleme ve yapılandırma bölümüne bakın.

Sık kullanılan uzantı özellikleri

Aşağıdaki özellikler her uzantı için mevcuttur.

Mülk Açıklama Varsayılan Zorunlu
name Uzantının bu yapılandırmasını verdiğiniz ad. Yok Evet
packageName Apigee Edge'in sağladığı uzantı paketinin adı. Yok Evet
version Uzantıyı yapılandırdığınız uzantı paketinin sürüm numarası. Yok Evet
configuration Eklediğiniz uzantıya özgü yapılandırma değeri. Bu uzantı paketinin özellikleri başlıklı makaleyi inceleyin Yok Evet