VK Cloud logo
Обновлена 31 октября 2023 г. в 06:09

Распознавание текста на фотографиях

Данный метод позволяет распознавать:

  • текст на фотографиях, снятых на улице (scene_text);
  • рукописный текст.

HOST: https://smarty.mail.ru

ENDPOINT: /api/v1/scene_text/recognize

Запрос

Авторизационные данные передаются в строке запроса:

Параметр
Тип
Значение
oauth_token
string
OAuth2 access token (required non-empty)
oauth_provider
string
Провайдер OAuth2 (required non-empty)

Поддерживаемые провайдеры OAuth2:

Провайдер
Значение oauth_provider
Получение токена
VK Cloud
mcs
Смотрите в статье

Параметры запроса передаются в формате JSON в теле запроса:

Параметр
Тип
Обязательность
Описание
file
string
Да
Массив файлов. Имена файлов должны отличаться
meta
object
Да
Тело запроса

Остальные параметры передаются в name="meta":

Параметр
Тип
Обязательность
Описание
images
[]image_meta
Да
Метаданные передаваемых изображений
lang
string
Нет
Ожидаемый язык текста на фото: rus — русский, eng — английский. При указании параметра повышается точность распознавания

Параметры image_meta:

Параметр
Тип
Обязательность
Описание
name
string
Да
Имена файлов для сопоставления файлов в запросе и ответе

Пример запроса

curl -X 'POST' \curl -X POST "https://smarty.mail.ru/api/v1/scene_text/recognize?oauth_token=<ваш токен>&oauth_provider=mcs" \ -H "Accept: application/json" \ -H "Content-Type: multipart/form-data" \ -F "file=@image3.jpg" \ -F "meta={  "images": [    {      "name": "file",      "lang": "eng"    }  ]}"

Ответ

Параметр
Тип
Описание
status
int
Код статуса выполненной операции
body
object
Тело ответа
objects
array
Массив результатов для каждого файла

Возможные ответы status:

  • 200 — успешное взаимодействие с серверами Vision. При остальных статусах описание ошибки приводится в body.
  • 400 — некорректный запрос: проверьте правильность синтаксиса введенных данных.
  • 403 — доступ запрещен: обновите токен доступа или выберите другого провайдера.
  • 500 — внутренняя ошибка сервера.

Параметры objects:

Параметр
Тип
Обязательность
Описание
status
int
Да
Код статуса выполненной операции: 0 — успешно, 1 — перманентная ошибка, 2 — временная ошибка
name
string
Да
Имя файла для сопоставления файлов в запросе и ответе
words
array
Да
Массив распознанных слов в строке

Параметры words:

Параметр
Тип
Обязательность
Описание
prob
float
Да
Уверенность распознавания строки
coord
[][]int64
Да
Координаты слова — [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]
text
string
Да
Распознанное слово ответа

Пример ответа

{  "status": 200,  "body": {    "objects": [      {        "status": 0,        "name": "file",        "words": [          {            "coord": [              [                314,                395              ],              [                453,                395              ],              [                453,                433              ],              [                314,                433              ]            ],            "prob": 0.9947941769563452,            "text": "SAMSUNG"          }        ]      }    ]  }}

Дополнительные примеры