Reconocimiento de tinta digital

Con la API de reconocimiento de tinta digital del ML Kit, puedes reconocer texto escrito a mano y clasificar gestos en una superficie digital en cientos de idiomas, así como clasificar bocetos. La API de reconocimiento de tinta digital usa la misma tecnología que impulsa el reconocimiento de escritura a mano en Gboard, Google Traductor y el juego Quick, Draw!.

El reconocimiento de tinta digital te permite hacer lo siguiente:

  • Escribe en la pantalla en lugar de escribir en un teclado virtual. Esto permite a los usuarios dibujar caracteres que no están disponibles en sus teclados, como ệ, अ o 森 para teclados de alfabeto latino.
  • Realizar operaciones básicas de texto (navegación, edición, selección, etc.) con gestos.
  • Reconocer formas y emojis dibujados a mano

El reconocimiento de tinta digital funciona con los trazos que el usuario dibuja en la pantalla. Si necesitas leer texto de imágenes tomadas con la cámara, usa la API de reconocimiento de texto.

El reconocimiento de tinta digital funciona completamente sin conexión y es compatible con iOS y Android.

iOS Android

Funciones clave

  • Convierte texto escrito a mano en secuencias de caracteres Unicode
  • Se ejecuta en el dispositivo casi en tiempo real
  • La escritura a mano del usuario permanece en el dispositivo; el reconocimiento se realiza sin conexión de red.
  • Admite más de 300 idiomas y más de 25 sistemas de escritura. Consulta la lista completa de idiomas compatibles.
  • Reconoce emojis y formas básicas.
  • Mantiene bajo el almacenamiento en el dispositivo mediante la descarga dinámica de paquetes de idioma según sea necesario.

El reconocedor toma un objeto Ink como entrada. Ink es una representación vectorial de lo que el usuario escribió en la pantalla: una secuencia de trazos, cada uno de los cuales es una lista de coordenadas con información de tiempo, denominada puntos de contacto. El trazo comienza cuando el usuario baja la pluma stylus o el dedo y finaliza cuando lo levanta. El Ink se pasa a un reconocedor, que muestra uno o más resultados de reconocimiento posibles, con niveles de confianza.

Ejemplos

Escritura a mano en inglés

La imagen de la izquierda muestra lo que dibujó el usuario en la pantalla. La imagen de la derecha es el objeto Ink correspondiente. Contiene los trazos con puntos rojos que representan los puntos de contacto dentro de cada trazo.

    

Hay cuatro trazos. Los primeros dos trazos del objeto Ink se ven de la siguiente manera:

Tinta
Trazo 1 x 392, 391, 389, 287...
y 52, 60, 76, 97...
t 0, 37, 56, 75...
Trazo 2 x 497, 494, 493, 490...
y 167, 165, 165, 165...
t 694, 742, 751, 770...
...

Cuando envías este Ink a un reconocedor del idioma inglés, muestra varias transcripciones posibles, que contienen cinco o seis caracteres. Se ordenan según la confianza decreciente:

RecognitionResult
Candidato de reconocimiento n.o 1 mano
Candidato de reconocimiento núm. 2 bravo
Candidato de reconocimiento n.o 3 duro
Candidato de reconocimiento n.o 4 manual
Candidato de reconocimiento n.o 5 Handwe

Gestos

Los clasificadores de gestos clasifican un trazo de tinta en una de las nueve clases de gestos que se enumeran a continuación.

Gesto Ejemplo
arch:above
arch:below
caret:above
caret:below
circle
esquina:abajoizquierda
scribble
strike
verticalbar
writing

Bocetos de emojis

La imagen de la izquierda muestra lo que dibujó el usuario en la pantalla. La imagen de la derecha es el objeto Ink correspondiente. Contiene los trazos con puntos rojos que representan los puntos de contacto dentro de cada trazo.

    

El objeto Ink contiene seis trazos.

           

Tinta
Trazo 1 x 269, 266, 262, 255...
y 40, 40, 40, 41...
t 0, 36, 56, 75...
Trazo 2 x 179, 182, 183, 185...
y 157, 158, 159, 160...
t 2475, 2522, 2531, 2541...
...

Cuando envías este Ink al reconocedor de emojis, obtienes varias transcripciones posibles, ordenadas de forma descendente según la confianza:

RecognitionResult
Candidato de reconocimiento n.o 1 😂 (U+1f62d)
Candidato de reconocimiento núm. 2 😅 (U+1f605)
Candidato de reconocimiento n.o 3 😹 (U+1f639)
Candidato de reconocimiento n.o 4 Variables (U+1f604)
Candidato de reconocimiento n.o 5 😆 (U+1f606)