Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Версия: 2.0.2
Распознавайте содержимое и текст на изображениях с помощью моделей машинного обучения.
Данный материал содержит справочную информацию по настройке и использованию этого расширения. Перед использованием этого расширения через API-прокси необходимо:
Включите API Cloud Vision для своей учетной записи службы.
Если вы будете использовать Cloud Storage в качестве источника изображений, вам также потребуется предоставить Cloud Storage доступ к этому расширению, как описано в справочнике по расширениям Google Cloud Storage .
Если у вас есть учетная запись службы с правами доступа к Cloud Vision (и Cloud Storage, если вы его используете), воспользуйтесь консолью Google Cloud, чтобы сгенерировать ключ для этой учетной записи службы .
При добавлении и настройке расширения с помощью справочника по конфигурации используйте содержимое полученного 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 | Значение конфигурации, относящееся к добавляемому расширению. См. Свойства этого пакета расширения. | Никто | Да |