Введение в облачные API распознавания
Api полный список
- Создать целевое изображение
- Список целевых изображений в галерее
- Получить отдельное целевое изображение
- Оценка сложности распознаваемости изображения
- Существующие похожие целевые изображения
- Удалить целевое изображение
- Изменить атрибуты целевого изображения
- Поиск изображений по изображению
- Проверка работоспособности
Протокол REST API и механизм аутентификации
API CRS соответствует стандартам передачи HTTP REST.
Заголовки HTTP
Authorization: <Вставьте токен, полученный из APIKey>
Параметры HTTP-запроса делятся на два типа:
Общие параметры (включают следующие, используются с разными методами аутентификации):
- appId
- timestamp (Long: миллисекунды, прошедшие с 1 января 1970 г., 00:00:00 UTC)
- apiKey
- signature (подпись запроса, альтернатива токену)
Параметры CRS API: собственные параметры API
В документации API параметры аутентификации не описываются
Аутентификация с помощью API Key
Существует два метода аутентификации:
Аутентификация на основе токена
Заголовок HTTP Authorization содержит токен. Общие параметры включают:
- appId
Аутентификация подписью
Без заголовка HTTP Authorization.
Общие параметры содержат подпись signature. Все параметры участвуют в вычислении подписи (кроме изображений).
- appId
- timestamp
- apiKey
- signature
Подробный алгоритм и код вычисления подписи см. в документе Метод подписи API Key.
Примеры использования и анализ атрибутов
Пример использования API
В этом примере — вызов API для создания целевого изображения — разработчики могут увидеть процесс запроса CRS API, понять структуру атрибутов целевого изображения и ввод-вывод интерфейса.
Перед созданием целевого изображения в рабочей среде требуется больше проверок. См. Рекомендации для создания нового целевого изображения.
Пример запроса
Добавление файла целевого изображения test-target.jpg. При создании файл изображения должен быть закодирован в base64.
В документации API параметры запроса описаны подробно. См. API — Создать целевое изображение, API запроса с кодированием изображения в base64.
POST /targets HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
"image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
"active":"1",
"name":"easyar",
"size":"5",
"meta":"496fbbabc2b38ecs3460a...",
"type":"ImageTarget",
"timestamp": 1514736000000,
"apiKey": "8b485c648c3056e79c2a85ee9b51f9dc",
"appId": "C:CN1:f9f903c36da8bd64d71d491077bba...",
"signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"statusCode": 0,
"result": {
"targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2",
"trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
"name": "easyar",
"size": "5",
"meta": "496fbbabc2b38ecs3460a...",
"type": "ImageTarget",
"modified":1514735000000
"active":"1",
"trackableRate": 0,
"detectableRate": 0,
“detectableDistinctiveness”:0,
"detectableFeatureCount": 0,
"trackableDistinctiveness": 0,
"trackableFeatureCount": 0,
"trackableFeatureDistribution": 0,
"trackablePatchContrast": 0,
"trackablePatchAmbiguity": 0
},
"timestamp": 1514736000000
}
Формат ответа
Ответы имеют единый формат. Пример:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //поле result присутствует только при statusCode=0, при ошибке оно пустое
}
Как показано в примере выше, это структура деталей целевого изображения при нормальном ответе. Целевое изображение включает следующие атрибуты:
| Атрибут | Описание |
|---|---|
| targetId | Уникальный идентификатор целевого изображения |
| trackingImage | Обработанное изображение в градациях серого в кодировке base64, для отслеживания изображения на устройстве |
| name | Название целевого изображения |
| size | Размер изображения, фактический размер для наложения виртуального контента |
| meta | Пользовательские связанные данные (файл, текст или URL), закодированные в base64 |
| type | "ImageTarget" |
| active | Распознаются только активные целевые изображения, отключенные не распознаются |
| trackableRate | Оценка сложности отслеживания, чем меньше, тем лучше |
| detectableRate | Комплексная оценка сложности распознавания, чем меньше, тем лучше |
| detectableDistinctiveness | Оценка сложности различимости при распознавании, чем меньше, тем лучше |
| detectableFeatureCount | Оценка сложности по количеству признаков распознавания, чем меньше, тем лучше |
| trackableDistinctiveness | Оценка сложности различимости при отслеживании, чем меньше, тем лучше |
| trackableFeatureCount | Оценка сложности по количеству признаков отслеживания, чем меньше, тем лучше |
| trackableFeatureDistribution | Оценка сложности распределения признаков отслеживания, чем меньше, тем лучше |
Коды ошибок
Описание кодов ошибок облачных API распознавания