Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Версия: 2.0.0
Распознавайте контент и текст на изображениях с помощью моделей машинного обучения.
В нем приведена информация о том, как настроить и использовать это расширение. Прежде чем использовать это расширение в прокси-сервере API, необходимо:
Включите Cloud Vision API для сервисного аккаунта.
Если вы будете использовать Cloud Storage в качестве источника изображений, вам также нужно будет предоставить этому расширению доступ к Cloud Storage, как описано в справочнике по расширению Google Cloud Storage.
Если у вас есть сервисный аккаунт с разрешением на использование Cloud Vision (и Cloud Storage, если вы его используете), создайте ключ для сервисного аккаунта в консоли Google Cloud.
Используйте содержимое полученного JSON-файла ключа при добавлении и настройке расширения, следуя инструкциям по настройке.
О Cloud Vision
Google Cloud Vision API использует модели машинного обучения для анализа изображений. Вы можете обучить модель для использования в API или использовать встроенную модель.
Встроенная модель Cloud Vision классифицирует изображения по категориям, например "небоскреб", "парусник", "лев" или "Эйфелева башня". Он распознает объекты, лица, логотипы и достопримечательности на изображениях, а также определяет слова, которые на них есть.
Примеры
В примерах ниже показано, как настроить поддержку действий расширения Cloud Vision с помощью правила ExtensionCallout.
Обнаружение ярлыков
В следующем примере действие detectLabels расширения получает изображение по адресу image_uri и передает его в Cloud Vision API для анализа. 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>
В следующем правиле Assign Message для назначения полезной нагрузки ответа используется значение переменной, в которой хранится ответ расширения.
<?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 и передает его в Cloud Vision API для анализа. 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>
В следующем правиле Assign Message для назначения полезной нагрузки ответа используется значение переменной, в которой хранится ответ расширения.
<?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
Обнаруживает и извлекает информацию об объектах на указанном изображении. Обнаруженные объекты относятся к широкому спектру категорий. Например, с помощью этого действия можно распознавать объекты, места, действия, виды животных, товары и т. д.
Также ознакомьтесь с документацией по Cloud Vision API.
Параметры запроса
| Параметр | Описание | Тип | По умолчанию | Обязательно |
|---|---|---|---|---|
| image_uri | Источник изображения. Это может быть изображение из интернета или Google Cloud Storage (формат: gs://bucketname/filename). Если источник – Google Cloud Storage, файл изображения должен быть общедоступным. |
Строка | Нет. | Да. |
Синтаксис
<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 Cloud Storage (формат: gs://bucketname/filename). Если источник – Google Cloud Storage, файл изображения должен быть общедоступным. |
Строка | Нет. | Да. |
Синтаксис
<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 | Значение конфигурации, относящееся к добавляемому расширению. См. Свойства этого пакета расширения. | Никто | Да |