Расширение Google Cloud Vision

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

Версия: 2.0.2

Распознавайте содержимое и текст на изображениях с помощью моделей машинного обучения.

Данный материал содержит справочную информацию по настройке и использованию этого расширения. Перед использованием этого расширения через API-прокси необходимо:

  1. Включите API Cloud Vision для своей учетной записи службы.

  2. Если вы будете использовать Cloud Storage в качестве источника изображений, вам также потребуется предоставить Cloud Storage доступ к этому расширению, как описано в справочнике по расширениям Google Cloud Storage .

  3. Если у вас есть учетная запись службы с правами доступа к Cloud Vision (и Cloud Storage, если вы его используете), воспользуйтесь консолью Google Cloud, чтобы сгенерировать ключ для этой учетной записи службы .

  4. При добавлении и настройке расширения с помощью справочника по конфигурации используйте содержимое полученного JSON-файла с ключами.

О компании Cloud Vision

API Google Cloud Vision использует модели машинного обучения для анализа изображений. Вы можете обучить модель для использования API или использовать встроенную модель .

Используя встроенную модель, Cloud Vision классифицирует изображения по таким категориям, как «небоскреб», «парусник», «лев» или «Эйфелева башня». Он распознает объекты, лица, логотипы и достопримечательности на изображениях, а также находит слова, содержащиеся в изображениях.

Образцы

Следующие примеры иллюстрируют, как настроить поддержку действий расширения Cloud Vision с помощью политики ExtensionCallout .

Обнаружение меток

В следующем примере действие detectLabels расширения получает изображение по адресу image_uri и передает его в API Cloud Vision для анализа. API изучит изображение и определит, какие метки относятся к содержимому изображения.

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

Следующая политика назначения сообщений использует значение переменной, хранящей ответ расширения, для назначения полезной нагрузки ответа.

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

Получив изображение городского района с очень высоким зданием, вы можете получить примерно следующий ответ:

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

Распознать текст

В следующем примере действие detectText расширения получает изображение по адресу image_uri и передает его в API Cloud Vision для анализа. API изучит изображение, идентифицируя текст на нем.

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

Следующая политика назначения сообщений использует значение переменной, хранящей ответ расширения, для назначения полезной нагрузки ответа.

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

Получив изображение с дорожными знаками из журнала парковки, вы можете получить ответ примерно следующего вида:

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

Действия

detectLabels

Обнаруживает и извлекает информацию об объектах на указанном изображении. Обнаруженные объекты относятся к широкому кругу категорий. Например, используйте это действие для идентификации объектов, местоположений, действий, видов животных, товаров и многого другого.

Также обязательно ознакомьтесь с документацией по API Cloud Vision .

Параметры запроса

Параметр Описание Тип По умолчанию Необходимый
image_uri Источник изображения. Это может быть интернет или облачное хранилище Google (формат: gs://bucketname/filename ). Если источником является облачное хранилище Google, файл изображения должен быть общедоступным. Нить Никто. Да.

Синтаксис

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

Пример

В следующем примере действие detectLabels расширения отправляет указанное изображение в Vision API для анализа.

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

Ответ

Объект, содержащий массив labels , представляющих обнаруженные на изображении объекты. Подробнее см. раздел «Обнаружение меток» .

detectText

Обнаруживает и извлекает текст из указанного изображения.

Параметры запроса

Параметр Описание Тип По умолчанию Необходимый
image_uri Источник изображения. Это может быть интернет или облачное хранилище Google (формат: gs://bucketname/filename ). Если источником является облачное хранилище Google, файл изображения должен быть общедоступным. Нить Никто. Да.

Синтаксис

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

Пример

В следующем примере действие detectText расширения отправляет указанное изображение в Vision API для анализа.

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

Ответ

Объект, содержащий text массив обнаруженного текста. Подробнее см. раздел «Обнаружение меток» .

Справочник по конфигурации

При настройке и развертывании этого расширения для использования в API-прокси используйте следующие параметры. Инструкции по настройке расширения с помощью консоли Apigee см. в разделе «Добавление и настройка расширения» .

Общие свойства расширения

Следующие свойства присутствуют для каждого расширения.

Свойство Описание По умолчанию Необходимый
name Имя, которое вы даете этой конфигурации расширения. Никто Да
packageName Имя пакета расширения, предоставленное Apigee Edge. Никто Да
version Номер версии пакета расширения, из которого вы настраиваете расширение. Никто Да
configuration Значение конфигурации, относящееся к добавляемому расширению. См. Свойства этого пакета расширения. Никто Да