С API-интерфейсом распознавания цифровых чернил ML Kit вы можете распознавать рукописный текст и классифицировать жесты на цифровой поверхности на сотнях языков, а также классифицировать эскизы. API распознавания цифрового рукописного ввода использует ту же технологию, что и распознавание рукописного ввода в Gboard, Google Translate и Quick, Draw! игра.
Цифровое распознавание чернил позволяет:
- Пишите на экране вместо того, чтобы печатать на виртуальной клавиатуре. Это позволяет пользователям рисовать символы, которых нет на их клавиатуре, например ệ, अ или 森 для клавиатуры с латинским алфавитом.
- Выполняйте основные операции с текстом (навигация, редактирование, выделение и т. д.) с помощью жестов.
- Распознавайте нарисованные от руки фигуры и смайлики.
Цифровое распознавание чернил работает со штрихами, которые пользователь рисует на экране. Если вам нужно прочитать текст с изображений, снятых камерой, используйте API распознавания текста .
Распознавание цифровых чернил работает полностью в автономном режиме и поддерживается на Android и iOS.
Ключевые возможности
- Преобразует рукописный текст в последовательности символов Юникода.
- Работает на устройстве почти в реальном времени
- Почерк пользователя остается на устройстве, распознавание выполняется без подключения к сети.
- Поддерживает более 300 языков и более 25 систем письма, см. полный список поддерживаемых языков
- Поддерживает классификацию жестов для этих языков с помощью расширений
-x-gesture
.
- Поддерживает классификацию жестов для этих языков с помощью расширений
- Распознает смайлики и основные фигуры
- Поддерживает низкий уровень памяти на устройстве за счет динамической загрузки языковых пакетов по мере необходимости.
Распознаватель принимает объект Ink
в качестве входных данных. Ink
— это векторное представление того, что пользователь написал на экране: последовательность штрихов , каждый из которых представляет собой список координат с информацией о времени, называемых точками касания . Штрих начинается, когда пользователь опускает стилус или палец, и заканчивается, когда он поднимает его. Ink
передаются распознавателю, который возвращает один или несколько возможных результатов распознавания с уровнями достоверности.
Примеры
Английский почерк
На изображении слева ниже показано, что пользователь нарисовал на экране. Изображение справа — это соответствующий объект Ink
. Он содержит штрихи с красными точками, представляющими точки касания внутри каждого штриха.
Есть четыре удара. Первые два штриха в объекте Ink
выглядят так:
Чернила | ||
---|---|---|
Ход 1 | x | 392, 391, 389, 287, ... |
y | 52, 60, 76, 97, ... | |
t | 0, 37, 56, 75, ... | |
Ход 2 | x | 497, 494, 493, 490, ... |
y | 167, 165, 165, 165, ... | |
t | 694, 742, 751, 770, ... | |
... |
Когда вы отправляете этот Ink
распознавателю английского языка, он возвращает несколько возможных транскрипций, содержащих пять или шесть символов. Они упорядочены по убыванию достоверности:
РаспознаваниеРезультат | |
---|---|
ПризнаниеКандидат №1 | рука |
Признание Кандидат #2 | рука |
ПризнаниеКандидат №3 | хардв |
Признание Кандидат #4 | Ханду |
Признание Кандидат #5 | handwe |
Жесты
Классификаторы жестов классифицируют рукописный штрих по одному из девяти классов жестов, перечисленных ниже.
arch:above arch:below | ![]() |
caret:above caret:below | ![]() |
circle | ![]() |
![]() | |
scribble | ![]() |
strike | ![]() |
verticalbar | ![]() |
writing | ![]() |
Эмодзи эскизы
На изображении слева ниже показано, что пользователь нарисовал на экране. Изображение справа — это соответствующий объект Ink
. Он содержит штрихи с красными точками, представляющими точки касания внутри каждого штриха.
Объект Ink
содержит шесть штрихов.
Чернила | ||
---|---|---|
Ход 1 | x | 269, 266, 262, 255, ... |
y | 40, 40, 40, 41, ... | |
t | 0, 36, 56, 75, ... | |
Ход 2 | x | 179, 182, 183, 185, ... |
y | 157, 158, 159, 160, ... | |
t | 2475, 2522, 2531, 2541, ... | |
... |
Когда вы отправляете эти Ink
в распознаватель эмодзи, вы получаете несколько возможных транскрипций, упорядоченных по убыванию достоверности:
РаспознаваниеРезультат | |
---|---|
ПризнаниеКандидат №1 | 😂 (U+1f62d) |
Признание Кандидат #2 | 😅 (U+1f605) |
ПризнаниеКандидат №3 | 😹 (U+1f639) |
Признание Кандидат #4 | 😄 (U+1f604) |
Признание Кандидат #5 | 😆 (U+1f606) |