L'API de reconnaissance d'encre numérique de ML Kit vous permet de reconnaître du texte manuscrit, de classer des gestes sur une surface numérique dans des centaines de langues, et de classer des croquis. L'API de reconnaissance de l'encre numérique utilise la même technologie que celle qui alimente la reconnaissance de l'écriture manuscrite dans Gboard, Google Traduction et le jeu Quick, Draw!.
Grâce à la reconnaissance de l'encre numérique, vous pouvez:
- Écrivez à l'écran au lieu de taper sur un clavier virtuel. Cela permet aux utilisateurs de dessiner des caractères qui ne sont pas disponibles sur leur clavier, comme ệ, अ ou 森 pour les claviers en alphabet latin.
- Effectuez des opérations textuelles de base (navigation, modification, sélection, etc.) à l'aide de gestes.
- Reconnaître les formes et les emojis dessinés à la main.
La reconnaissance d'encre numérique fonctionne avec les traits que l'utilisateur dessine à l'écran. Si vous devez lire du texte à partir d'images prises avec l'appareil photo, utilisez l'API Text Recognition.
La reconnaissance d'encre numérique fonctionne entièrement hors connexion et est compatible avec Android et iOS.
Principales fonctionnalités
- Convertit du texte manuscrit en séquences de caractères Unicode
- S'exécute sur l'appareil en temps quasi réel
- L'écriture manuscrite de l'utilisateur reste sur l'appareil. La reconnaissance s'effectue sans aucune connexion réseau.
- Compatibilité avec plus de 300 langues et plus de 25 systèmes d'écriture (consultez la liste complète des langues compatibles)
- Prise en charge de la classification des gestes pour ces langages via les extensions
-x-gesture
.
- Prise en charge de la classification des gestes pour ces langages via les extensions
- Reconnaît les emoji et les formes de base
- Préserve l'espace de stockage sur l'appareil en téléchargeant dynamiquement des packs de langue selon les besoins.
Le programme de reconnaissance utilise un objet Ink
en entrée. Ink
est une représentation vectorielle de ce que l'utilisateur a écrit à l'écran: une séquence de traits, chacun étant une liste de coordonnées avec des informations temporelles appelées points de contact. Un trait commence lorsque l'utilisateur pose son stylet ou son doigt vers le bas et se termine lorsqu'il le soulève. Le Ink
est transmis à un programme de reconnaissance, qui renvoie un ou plusieurs résultats de reconnaissance possibles, avec des niveaux de confiance.
Exemples
Écriture manuscrite anglaise
L'image de gauche ci-dessous montre ce que l'utilisateur a dessiné à l'écran. L'image de droite est l'objet Ink
correspondant. Elle contient les traits avec des points rouges représentant les points de contact de chaque trait.
Il y a quatre traits. Les deux premiers traits de l'objet Ink
se présentent comme suit:
Encre | ||
---|---|---|
Trait 1 | x
|
392, 391, 389, 287, etc. |
y
|
52, 60, 76, 97, etc. | |
t
|
0, 37, 56, 75, etc. | |
Trait 2 | x
|
497, 494, 493, 490, etc. |
y
|
167, 165, 165, 165, etc. | |
t
|
694, 742, 751, 770, etc. | |
... |
Lorsque vous envoyez ce Ink
à un programme de reconnaissance pour la langue anglaise, il renvoie plusieurs transcriptions possibles, contenant cinq ou six caractères. Elles sont classées par niveau de confiance décroissant:
RecognitionResult | |
---|---|
Candidat à la reconnaissance n° 1 | Handw |
Candidat à la reconnaissance n° 2 | Handrw |
Candidat à la reconnaissance n° 3 | Hard |
Candidat à la reconnaissance n° 4 | Handu |
Candidat à la reconnaissance n° 5 | Handwe |
Gestes
Les classificateurs de gestes classent un trait d'encre dans l'une des neuf classes de gestes listées ci-dessous.
arch:above arch:below |
|
caret:above caret:below |
|
circle |
|
scribble |
|
strike |
|
verticalbar |
|
writing |
Emoji croquis
L'image de gauche ci-dessous montre ce que l'utilisateur a dessiné à l'écran. L'image de droite est l'objet Ink
correspondant. Elle contient les traits avec des points rouges représentant les points de contact de chaque trait.
L'objet Ink
contient six traits.
Encre | ||
---|---|---|
Trait 1 | x
|
269, 266, 262, 255, etc. |
y
|
40, 40, 40, 41... | |
t
|
0, 36, 56, 75, etc. | |
Trait 2 | x
|
179, 182, 183, 185, etc. |
y
|
157, 158, 159, 160, etc. | |
t
|
2 475, 2 522, 2 531, 2 541, etc. | |
... |
Lorsque vous envoyez ce Ink
à l'outil de reconnaissance d'emoji, vous obtenez plusieurs transcriptions possibles, classées par niveau de confiance décroissant:
RecognitionResult | |
---|---|
Candidat à la reconnaissance n° 1 | 😂 (U+1F62D) |
Candidat à la reconnaissance n° 2 | 😅 (U+1F605) |
Candidat à la reconnaissance n° 3 | 😹 (U+1f639) |
Candidat à la reconnaissance n° 4 | 💡 (U+1F604) |
Candidat à la reconnaissance n° 5 | 😃 (U+1F606) |