Google Cloud Vision Uzantısı

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

Sürüm: 2.0.0

Makine öğrenimi modellerini kullanarak resimlerdeki içeriği ve metni keşfedin.

Bu içerikte, bu uzantıyı yapılandırma ve kullanmayla ilgili referanslar sağlanmaktadır. Bu uzantıyı bir API proxy'sinden kullanmadan önce:

  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 bu uzantıya Cloud Storage için de erişim izni vermeniz gerekir.

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

  4. Yapılandırma referansını kullanarak uzantıyı 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. API'nin kullanacağı bir model eğitebilir veya yerleşik modeli kullanabilirsiniz.

Cloud Vision, yerleşik modeli kullanarak görselleri "gökdelen", "yelkenli", "aslan" veya "Eyfel Kulesi" gibi kategorilere ayırır. Resimlerdeki nesneleri, yüzleri, logoları ve önemli noktaları algılar ve resimlerdeki kelimeleri bulur.

Örnekler

Aşağıdaki örneklerde, ExtensionCallout politikası kullanılarak Cloud Vision uzantı işlemleri için desteğin nasıl yapılandırılacağı gösterilmektedir.

Etiketleri algılama

Aşağıdaki örnekte, uzantının detectLabels işlemi image_uri adresindeki resmi alır ve analiz için Cloud Vision API'ye iletir. API, görüntüyü inceler ve görüntünün içeriği için hangi etiketlerin geçerli 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ü 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>

İçinde çok yüksek bir binanın bulunduğu bir kentsel alanın resmini gönderirseniz 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ılama

Aşağıdaki örnekte, uzantılar detectText işlemi image_uri adresindeki resmi alır ve analiz için Cloud Vision API'ye iletir. API, resmi inceleyerek resimdeki metni tanımlar.

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

Bir otopark günlüğündeki tabelaları içeren bir resim gönderdiğinizde 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 öğelerle ilgili bilgileri algılayıp ayıklayın. Algılanan öğeler geniş bir kategori grubuna sahiptir. Örneğin, nesneleri, konumları, etkinlikleri, hayvan türlerini, ürünleri ve daha fazlasını tanımlamak için bu işlemi kullanın.

Ayrıca Cloud Vision API belgelerini inceleyin.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
image_uri Resmin 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 resmi analiz için Vision API'ye gönderir.

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

Yanıt

Görüntüde algılanan varlıkları temsil eden bir labels etiket dizisi 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ıklayın.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
image_uri Resmin 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 resmi 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 kullanılmak üzere yapılandırırken ve dağıtırken aşağıdakileri kullanın. Apigee konsolunu kullanarak bir uzantıyı yapılandırma adımları için Uzantı ekleme ve yapılandırma başlıklı makaleyi inceleyin.

Ortak 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