Оптическое распознавание текста (OCR)
В этом разделе описано, как работает возможность распознавание текста (Optical Character Recognition, OCR).
Подготовка запроса на распознавание
В запросе вы указываете список возможностей для анализа, которые необходимо применить к изображению. Чтобы распознать текст, используйте тип TEXT_DETECTION
и задайте список языков в конфигурации.
Конфигурация запроса
В конфигурации указывается:
-
список языков, на основе которого будет определена языковая модель для распознавания.
Если вы не знаете язык текста, укажите
"*"
, чтобы сервис выбрал наиболее подходящую модель автоматически. -
модель, которая будет использована для поиска текста на изображении. Доступные модели:
-
page
(по умолчанию) — подходит для изображений с любым количеством строк текста. -
line
— подходит для распознавания одной строки текста. Например, если вы не хотите передавать изображение целиком, вы можете вырезать строку и отправить на распознавание только ее.На изображении должна быть только одна строка текста, а высота текста должна быть не меньше 80% от высоты изображения, иначе результаты распознавания с моделью
line
будут непредсказуемы. Пример правильного изображения:
-
Определение языковой модели
Для распознавания текста в сервисе используется языковая модель, обученная на определенном наборе языков. Модель выбирается автоматически на основе списка языков, который вы указываете в конфигурации.
При каждом распознавании текста используется только одна модель. Например, если на изображении текст на китайском и японском, то распознан будет только один из этих языков. Чтобы распознать оба этих языка, укажите в запросе несколько возможностей для анализа с разными списками языков.
Совет
Для текста на русском и английском лучше всего работает англо-русская модель. Чтобы использовать ее, укажите один из этих языков или оба в text_detection_config
, но не указывайте другие языки.
Требования к изображению
Изображение в запросе должно соответствовать следующим требованиям:
-
Поддерживаемые форматы файлов: JPEG, PNG, PDF.
MIME-тип файла вы указываете в свойстве
mime_type
. По умолчаниюimage
. -
Максимальный размер файла: 1 МБ.
-
Размер изображения не должен превышать 20 мегапикселей (длина x ширина).
Ответ с результатами распознавания
Сервис выделяет найденный текст на изображении и группирует его по уровням: слова группируются в строки, строки в блоки, блоки в страницы.
В результате сервис возвращает объект, где для каждого из уровней дополнительно указывается:
- страницы (
pages[]
) — размер страницы; - блоки текста (
blocks[]
) — расположение текста на странице; - строки (
lines[]
) — расположение и достоверность распознавания; - слова (
words[]
) — расположение, достоверность, текст и язык, использованный при распознавании.
Чтобы показать расположение текста, сервис возвращает координаты прямоугольника, обрамляющего текст. Координаты — количество пикселей от левого верхнего угла на изображении.
Координаты прямоугольника считаются от левого верхнего угла и указываются против часовой стрелки:
1←4
↓ ↑
2→3
Пример распознанного слова с координатами:
{
"boundingBox": {
"vertices": [{
"x": "410",
"y": "404"
},
{
"x": "410",
"y": "467"
},
{
"x": "559",
"y": "467"
},
{
"x": "559",
"y": "404"
}]
},
"languages": [{
"languageCode": "en",
"confidence": 0.9412244558
}],
"text": "you",
"confidence": 0.9412244558
}
Достоверность распознавания
Достоверность распознавания показывает уверенность сервиса в результате. Например, значение "confidence": 0.9412244558
для строки we like you
означает, что с вероятностью в 94% текст распознан корректно.
Сейчас достоверность считается только для строк. В значение confidence
для слов и языка подставляется значение для confidence
строки.