Распознавайте своих пользователей' почерк

API распознавания рукописного ввода позволяет распознавать рукописный текст по мере его ввода.

Что такое API распознавания рукописного ввода?

API распознавания рукописного ввода позволяет преобразовывать рукописный текст (чернила) ваших пользователей в печатный. Некоторые операционные системы уже давно поддерживают подобные API, и благодаря этой новой возможности ваши веб-приложения наконец-то смогут использовать эту функциональность. Преобразование происходит непосредственно на устройстве пользователя, работает даже в офлайн-режиме, без установки каких-либо сторонних библиотек или сервисов.

Этот API реализует так называемое «онлайновое» или почти онлайновое распознавание. Это означает, что рукописный ввод распознаётся непосредственно во время рисования пользователем, путём захвата и анализа отдельных штрихов. В отличие от «офлайновых» процедур, таких как оптическое распознавание символов (OCR), где известен только конечный результат, онлайновые алгоритмы могут обеспечить более высокий уровень точности благодаря дополнительным сигналам, таким как временная последовательность и нажим отдельных штрихов чернил.

Предлагаемые варианты использования API распознавания рукописного ввода

Примеры использования включают в себя:

  • Приложения для создания заметок, в которых пользователи хотят сохранять рукописные заметки и переводить их в текст.
  • Создает приложения, в которых пользователи могут использовать стилус или ввод пальцем из-за ограничений по времени.
  • Игры, требующие заполнения букв или цифр, например, кроссворды, виселица или судоку.

Текущий статус

API распознавания рукописного ввода доступен в (Chromium 99).

Как использовать API распознавания рукописного ввода

Обнаружение особенностей

Определите поддержку браузера, проверив наличие метода createHandwritingRecognizer() в объекте навигатора:

if ('createHandwritingRecognizer' in navigator) {
  // 🎉 The Handwriting Recognition API is supported!
}

Основные концепции

API распознавания рукописного ввода преобразует рукописный ввод в текст независимо от способа ввода (мышь, сенсорный экран, стилус). API включает четыре основных компонента:

  1. Точка обозначает место, где находился указатель в определенный момент времени.
  2. Росчерк состоит из одной или нескольких точек. Запись росчерка начинается, когда пользователь опускает указатель (т. е. нажимает основную кнопку мыши или касается экрана стилусом или пальцем), и заканчивается, когда он снова поднимает указатель.
  3. Рисунок состоит из одного или нескольких штрихов. Именно на этом уровне происходит фактическое распознавание.
  4. Распознаватель настроен на ожидаемый язык ввода. Он используется для создания экземпляра чертежа с примененной конфигурацией распознавателя.

Эти концепции реализованы в виде специальных интерфейсов и словарей, о которых я расскажу далее.