Riconoscimento inchiostro digitale

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.

iOS Android

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
  • 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.

Gesto Esempio
arch:above
arch:below
caret:above
caret:below
circle
corner:downleft
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)