Google Cloud Vision Uzantısı

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

Sürüm: 2.0.2

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

Bu içerik, uzantının yapılandırılması ve kullanılmasıyla ilgili referans bilgiler 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 bu uzantıya Cloud Storage'a erişim izni de vermeniz gerekir.

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

  4. Yapılandırma referansını kullanarak uzantıyı eklerken ve yapılandırırken sonuçtaki 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 "gökdelen", "yelkenli", "aslan" veya "Eyfel Kulesi" gibi kategorilere ayırır. Görüntülerdeki nesneleri, yüzleri, logoları ve önemli noktaları algılar ve görüntülerdeki kelimeleri bulur.

Örnekler

Aşağıdaki örneklerde, ExtensionCallout politikası kullanılarak Cloud Vision uzantısı işlemlerine yönelik 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, resmi inceleyip resmin 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 Assign Message 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>

İçinde çok yüksek bir bina bulunan bir şehir alanı resmi 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ılama

Aşağıdaki örnekte, detectText uzantısı, image_uri konumundaki 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 Assign Message 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>

Otoparkta işaretler içeren bir resim verildiğinde 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ılar ve ayıklar. Algılanan öğeler, geniş bir kategori grubuna yayılmıştır. Örneğin, nesneleri, konumları, etkinlikleri, hayvan türlerini, ürünleri ve daha fazlasını belirlemek için bu işlemi kullanın.

Ayrıca Cloud Vision API belgelerine de göz atı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 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 öğeleri temsil eden bir labels etiket dizisi içeren nesne. Daha fazla bilgi için Etiketleri algılama bölümünü inceleyin.

detectText

Belirtilen resimdeki metni algılar ve ayıklar.

İ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ünü inceleyin.

Yapılandırma Referansı

Bu uzantıyı API proxy'lerinde kullanılacak şekilde 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 başlıklı makaleyi inceleyin.

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