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.
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.
- Admite la clasificación por gestos en estos idiomas a través de extensiones
-x-gesture
.
- Admite la clasificación por gestos en estos idiomas a través de extensiones
- 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.
arch:above arch:below |
|
caret:above caret:below |
|
circle |
|
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) |