Grâce à l'API de reconnaissance d'encre numérique de ML Kit, vous pouvez reconnaître du texte manuscrit, classer des gestes sur une surface numérique dans des centaines de langues et classer des dessins. L'API de reconnaissance d'encre numérique utilise la même technologie que celle utilisée pour la reconnaissance de l'écriture manuscrite dans Gboard, Google Traduction et le jeu Quick, Draw!.
La reconnaissance d'encre numérique vous permet de:
- Écrivez sur l'écran au lieu d'utiliser un clavier virtuel. Cela permet aux utilisateurs de dessiner des caractères non disponibles sur leur clavier, tels que Ю, अ 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 des formes et des emoji dessinés à la main
La reconnaissance d'encre numérique fonctionne avec les traits que l'utilisateur dessine à l'écran. Si vous avez besoin de 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 quasiment en temps réel
- L'écriture manuscrite de l'utilisateur reste sur l'appareil. La reconnaissance est effectuée sans connexion réseau.
- Compatibilité avec plus de 300 langues et plus de 25 systèmes d'écriture. Consultez la liste complète des langues disponibles.
- Compatible avec la classification des gestes pour ces langues via les extensions
-x-gesture
- Compatible avec la classification des gestes pour ces langues via les extensions
- Reconnaît les emoji et les formes de base
- Stockage faible sur l'appareil en téléchargeant dynamiquement des packs de langue selon les besoins
L'outil de reconnaissance accepte 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 outil de reconnaissance, qui renvoie un ou plusieurs résultats de reconnaissance possibles, avec des niveaux de confiance.
Exemples
Écriture manuscrite en anglais
L'image à gauche ci-dessous montre ce que l'utilisateur a dessiné à l'écran. L'image de droite correspond à l'objet Ink
correspondant. Il contient les traits avec des points rouges représentant les points de contact dans 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, ... |
y
|
52, 60, 76, 97, etc. | |
t
|
0, 37, 56, 75, ... | |
Trait 2 | x
|
497, 494, 493, 490, etc. |
y
|
167, 165, 165, 165, ... | |
t
|
694, 742, 751, 770, etc. | |
… |
Lorsque vous envoyez Ink
à un outil de reconnaissance pour la langue anglaise, il renvoie plusieurs transcriptions possibles, contenant cinq ou six caractères. Ils sont classés par ordre de confiance décroissant:
RecognitionResult | |
---|---|
Candidature de la reconnaissance n° 1 | Handw |
ReconnaissanceCandidate 2 | Handrw |
Candidature de la reconnaissance n° 3 | Hardw |
Candidature à la reconnaissance n° 4 | Handu |
ReconnaissanceCandidate 5 | Handwe |
Gestes
Les classificateurs de gestes classent les traits d'encre dans l'une des neuf classes de gestes répertoriées ci-dessous.
arch:above arch:below |
![]() |
caret:above caret:below |
![]() |
circle |
![]() |
![]() |
|
scribble |
![]() |
strike |
![]() |
verticalbar |
![]() |
writing |
![]() |
Dessins d'emoji
L'image à gauche ci-dessous montre ce que l'utilisateur a dessiné à l'écran. L'image de droite correspond à l'objet Ink
correspondant. Il contient les traits avec des points rouges représentant les points de contact dans chaque trait.
L'objet Ink
contient six traits.
Encre | ||
---|---|---|
Trait 1 | x
|
269, 266, 262, 255, etc. |
y
|
40, 40, 40, 41, etc. | |
t
|
0, 36, 56, 75, ... | |
Trait 2 | x
|
179, 182, 183, 185, ... |
y
|
157, 158, 159, 160, ... | |
t
|
2475, 2522, 2531, 2541, ... | |
… |
Lorsque vous envoyez cet élément Ink
à l'outil de reconnaissance d'emoji, vous pouvez obtenir plusieurs transcriptions possibles, classées par ordre de confiance décroissant:
RecognitionResult | |
---|---|
Candidature de la reconnaissance n° 1 | 😂 (U+1f62d) |
ReconnaissanceCandidate 2 | 😅 (U+1F605) |
Candidature de la reconnaissance n° 3 | 😹 (U+1f639) |
Candidature à la reconnaissance n° 4 | 😄 (U+1f604) |
ReconnaissanceCandidate 5 | 😆 (U+1f606) |