Google Cloud Vision Uzantısı

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Sürüm: 1.2.0

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

Bu içerik, bu uzantının yapılandırılması ve kullanılması için referans sağlamaktadır. 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ı referansı bölümünde açıklandığı gibi, bu uzantının Cloud Storage'a erişmesine de izin vermeniz gerekir.

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

  4. Yapılandırma referansını kullanarak uzantıyı eklerken ve yapılandırırken sonuçta ortaya çıkan 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 kullanması için bir modeli eğitebilir veya yerleşik modeli kullanabilirsiniz.

Cloud Vision, yerleşik modeli kullanarak görüntüleri "dikey", yelkenli, "aslan" veya "Eyfel Kulesi" gibi kategorilere ayırır. Görsellerdeki nesneleri, yüzleri, logoları ve önemli noktaları tespit edip görsellerdeki kelimeleri bulur.

Örnekler

Aşağıdaki örneklerde, Extension callout 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 konumundaki görüntüyü alır ve analiz için Cloud Vision API'ye iletir. API, görüntüyü inceler ve hangi etiketlerin resmin içeriğine uygulandığını 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 İleti Ata politikası, yanıt yükünü atamak için uzantının yanıtını saklayan 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 bina olan kentsel bir alanın görüntüsü göz önüne alındığında 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
      }
  ]
}

Metni algıla

Aşağıdaki örnekte detectText uzantıları işlemi, resmi image_uri konumunda alır ve analiz için Cloud Vision API'ye iletir. API, görüntüyü 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 İleti Ata politikası, yanıt yükünü atamak için uzantının yanıtını saklayan 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 yeri günlüğündeki işaretler içeren bir resim göz önünde bulundurulduğunda aşağıdaki gibi yanıtlar 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 görseldeki varlıklar hakkındaki bilgileri algılar ve ayıklar. Algılanan öğeler geniş bir kategori grubuna ait. Ö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 inceleyin.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
image_uri Görselin kaynağı. Bu, internetten veya Google Cloud Storage'dan olabilir (biçim: gs://bucketname/filename). 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 nesne. Daha fazla bilgi için Etiketleri algılama konusuna bakın.

detectText

Belirtilen resimdeki metni algılar ve ayıklar.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
image_uri Görselin kaynağı. Bu, internetten veya Google Cloud Storage'dan olabilir (biçim: gs://bucketname/filename). 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

Metinden text dizisi içeren bir nesne algılandı. Daha fazla bilgi için Etiketleri algılama konusuna bakın.

Yapılandırma Referansı

Bu uzantıyı API proxy'lerinde kullanmak üzere yapılandırıp 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'ya 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