Interfejs API rozpoznawania pisma cyfrowego w ML Kit umożliwia rozpoznawanie odręcznego tekstu i klasyfikowanie gestów na platformie cyfrowej w setkach języków, a także klasyfikowanie szkiców. Interfejs ten korzysta z tej samej technologii, która jest używana w Gboard, w Tłumaczu Google i w grze Quick, Draw!.
Rozpoznawanie pisma cyfrowego umożliwia:
- Pisz po ekranie, zamiast pisać na klawiaturze wirtualnej. Dzięki temu użytkownicy mogą rysować znaki, które nie są dostępne na klawiaturze, np. ệ, अ lub 森 na klawiaturze z alfabetem łacińskim.
- Wykonywanie podstawowych operacji na tekście (nawigacja, edytowanie, zaznaczanie itp.) za pomocą gestów.
- Rozpoznawaj odręczne kształty i emotikony.
Cyfrowe rozpoznawanie atramentu obsługuje pociągnięcia rysowane przez użytkownika na ekranie. Jeśli chcesz odczytać tekst z obrazów zrobionych aparatem, użyj interfejsu Text Recognition API.
Rozpoznawanie pisma cyfrowego działa w pełni offline i jest obsługiwane na urządzeniach z Androidem oraz iOS.
Kluczowe funkcje
- Konwertuje tekst odręczny na sekwencje znaków Unicode
- Działa na urządzeniu w czasie zbliżonym do rzeczywistego
- Pismo odręczne użytkownika pozostaje na urządzeniu, a rozpoznawanie odbywa się bez połączenia z siecią
- Obsługuje ponad 300 języków i ponad 25 systemów pisania – zobacz pełną listę obsługiwanych języków
- Obsługuje klasyfikację gestów dla tych języków za pomocą rozszerzeń -x-gesture
 
- Obsługuje klasyfikację gestów dla tych języków za pomocą rozszerzeń 
- Rozpoznaje emotikony i podstawowe kształty
- Utrzymuje mało miejsca na urządzeniu dzięki dynamicznemu pobieraniu pakietów językowych
Moduł rozpoznawania pobiera obiekt Ink jako dane wejściowe. Ink to wektorowa reprezentacja tego, co użytkownik napisał na ekranie: sekwencja kresek, z których każdy jest listą współrzędnych z informacjami o czasie nazywanymi punktami styczności z klientem. Kreska rozpoczyna się, gdy użytkownik przyłoży rysik lub palec, a kończy, gdy uniesie rysik. Wartość Ink jest przekazywana do modułu rozpoznawania, który zwraca co najmniej 1 możliwy wynik rozpoznawania z pewnymi poziomami ufności.
Przykłady
Angielskie pismo odręczne
Poniższa ilustracja po lewej stronie przedstawia, co użytkownik narysował na ekranie. Obraz po prawej stronie to odpowiedni obiekt Ink. Zawiera kreski z czerwonymi punktami, które reprezentują punkty styczności z klientem.
 
    

Są 4 styki. Pierwsze 2 kreski w obiekcie Ink wyglądają tak:
| Atrament | ||
|---|---|---|
| Styl 1 | x | 392, 391, 389, 287, ... | 
| y | 52, 60, 76, 97... | |
| t | 0, 37, 56, 75, ... | |
| Styl 2 | x | 497, 494, 493, 490... | 
| y | 167, 165, 165, 165... | |
| t | 694, 742, 751, 770, ... | |
| ... | ||
Gdy wyślesz ten obiekt Ink do modułu rozpoznawania języka angielskiego, wyświetli się kilka możliwych transkrypcji zawierających 5 lub 6 znaków. Są one uporządkowane według malejącej ufności:
| RecognitionResult | |
|---|---|
| Kandydat nr 1 | Handw | 
| Kandydat nr 2 | Handrw | 
| Kandydat nr 3 | twarde | 
| Kandydat nr 4 | Handu | 
| Kandydat nr 5 | Handwe | 
Gesty
Klasyfikatory gestów klasyfikują kreskę atramentem w jednej z 9 klas gestów wymienionych poniżej.
| arch:abovearch:below |  | 
| caret:abovecaret:below |  | 
| circle |  | 
|  | |
| scribble |  | 
| strike |  | 
| verticalbar |  | 
| writing |  | 
Szkice emotikonów
Poniższa ilustracja po lewej stronie przedstawia, co użytkownik narysował na ekranie. Obraz po prawej stronie to odpowiedni obiekt Ink. Zawiera kreski z czerwonymi punktami, które reprezentują punkty styczności z klientem.
 
    

Obiekt Ink zawiera 6 kresek.
 
 
 
 
 
 
 
 
 
 
 
 
| Atrament | ||
|---|---|---|
| Styl 1 | x | 269, 266, 262, 255... | 
| y | 40, 40, 40, 41... | |
| t | 0, 36, 56, 75, ... | |
| Styl 2 | x | 179, 182, 183, 185... | 
| y | 157, 158, 159, 160... | |
| t | 2475, 2522, 2531, 2541, ... | |
| ... | ||
Gdy wyślesz ten kod Ink do modułu rozpoznawania emotikonów, otrzymasz kilka możliwych transkrypcji uporządkowanych według malejącej pewności siebie: 
| RecognitionResult | |
|---|---|
| Kandydat nr 1 | 😂 (U+1F62D) | 
| Kandydat nr 2 | 😃 (U+1F605) | 
| Kandydat nr 3 | 😹 (U+1F639) | 
| Kandydat nr 4 | 😄 (U+1F604) | 
| Kandydat nr 5 | 😆 (U+1F606) | 
