Con l'API di riconoscimento dell'inchiostro digitale di ML Kit, puoi riconoscere il testo scritto a mano, classificare i gesti su una superficie digitale in centinaia di lingue e classificare gli schizzi. L'API di riconoscimento dell'inchiostro digitale utilizza la stessa tecnologia che supporta il riconoscimento della scrittura in Gboard, Google Traduttore e nel gioco Rapido, Draw!.
Il riconoscimento di inchiostro digitale ti consente di:
- Scrivi sullo schermo anziché digitare su una tastiera virtuale. In questo modo gli utenti possono tracciare caratteri che non sono disponibili sulla tastiera, ad esempio ệ, अ o 森 per le tastiere con caratteri alfabetici latini.
- Eseguire operazioni di base sul testo (navigazione, modifica, selezione e così via) utilizzando i gesti.
- Riconosci forme ed emoji disegnate a mano.
Il riconoscimento dell'inchiostro digitale funziona con i tratti che l'utente disegna sullo schermo. Se devi leggere il testo delle immagini scattate con la fotocamera, utilizza l'API Text Recognition.
Il riconoscimento dell'inchiostro digitale funziona completamente offline ed è supportato su Android e iOS.
Funzionalità principali
- Converte il testo scritto a mano in sequenze di caratteri Unicode
- Funziona sul dispositivo quasi in tempo reale
- La scrittura a mano libera dell'utente rimane sul dispositivo, il riconoscimento viene eseguito senza connessione di rete
- Supporta oltre 300 lingue e oltre 25 sistemi di scrittura. Consulta l'elenco completo delle lingue supportate
- Supporta la classificazione dei gesti per queste lingue tramite le estensioni -x-gesture
 
- Supporta la classificazione dei gesti per queste lingue tramite le estensioni 
- Riconosce emoji e forme di base
- Lo spazio di archiviazione sul dispositivo è limitato scaricando dinamicamente i language pack in base alle esigenze
Il riconoscimento accetta un oggetto Ink come input. Ink è una rappresentazione vettoriale di ciò che l'utente ha scritto sullo schermo: una sequenza di trattini, ognuno dei quali è un elenco di coordinate con informazioni temporali chiamate punti di contatto. Un tratto inizia quando l'utente appoggia lo stilo o un dito verso il basso e termina quando lo solleva. Ink viene passato a un riconoscimento, che restituisce uno o più possibili risultati di riconoscimento, con livelli di affidabilità.
Esempi
Scrittura a mano libera in inglese
L'immagine a sinistra sotto mostra ciò che l'utente ha disegnato sullo schermo. L'immagine a destra è l'oggetto Ink corrispondente. Contiene i tratti con punti rossi che rappresentano
i punti di contatto all'interno di ogni tratto.
 
    

Ci sono quattro colpi. I primi due tratti nell'oggetto Ink avranno il seguente aspetto:
| Inchiostro | ||
|---|---|---|
| Tratto 1 | x | 392, 391, 389, 287, ... | 
| y | 52, 60, 76, 97, ... | |
| t | 0, 37, 56, 75, ... | |
| Tratto 2 | x | 497, 494, 493, 490, ... | 
| y | 167, 165, 165, 165, ... | |
| t | 694, 742, 751, 770, ... | |
| ... | ||
Quando invii questo Ink a un riconoscimento per la lingua inglese, vengono restituite diverse possibili trascrizioni, contenenti cinque o sei caratteri. Sono ordinati in modo da diminuire l'affidabilità:
| RecognitionResult | |
|---|---|
| Candidato di riconoscimento n. 1 | Mano | 
| Candidato di riconoscimento n. 2 | Handrw | 
| Candidato di riconoscimento n. 3 | hardw | 
| Candidato di riconoscimento n. 4 | Handu | 
| Candidato di riconoscimento n. 5 | Handwe | 
Gesti
I classificatori di gesti classificano un tratto di inchiostro in una delle nove classi di gesti elencate di seguito.
| arch:abovearch:below |  | 
| caret:abovecaret:below |  | 
| circle |  | 
|  | |
| scribble |  | 
| strike |  | 
| verticalbar |  | 
| writing |  | 
Disegni di emoji
L'immagine a sinistra sotto mostra ciò che l'utente ha disegnato sullo schermo. L'immagine a destra è l'oggetto Ink corrispondente. Contiene i tratti con punti rossi che rappresentano
i punti di contatto all'interno di ogni tratto.
 
    

L'oggetto Ink contiene sei tratti.
 
 
 
 
 
 
 
 
 
 
 
 
| Inchiostro | ||
|---|---|---|
| Tratto 1 | x | 269, 266, 262, 255, ... | 
| y | 40, 40, 40, 41, ... | |
| t | 0, 36, 56, 75, ... | |
| Tratto 2 | x | 179, 182, 183, 185, ... | 
| y | 157, 158, 159, 160, ... | |
| t | 2475, 2522, 2531, 2541, ... | |
| ... | ||
Quando invii questo Ink al riconoscimento di emoji, ricevi diverse possibili trascrizioni, ordinate in base a una riduzione dell'affidabilità: 
| RecognitionResult | |
|---|---|
| Candidato di riconoscimento n. 1 | 😂 (U+1f62d) | 
| Candidato di riconoscimento n. 2 | 😅 (U+1f605) | 
| Candidato di riconoscimento n. 3 | 😹 (U+1f639) | 
| Candidato di riconoscimento n. 4 | playbook (U+1f604) | 
| Candidato di riconoscimento n. 5 | 😃 (U+1f606) | 
