OCR sur Android

Qu’est-ce que l’OCR ?

La reconnaissance optique de caractères (OCR) désigne le processus d’identification automatique à partir d’une image de caractères ou de symboles appartenant à un alphabet spécifié. Dans ce post, nous nous attacherons à expliquer comment utiliser l’OCR sur Android.

Une fois reconnu le texte de l’image, il peut être utilisé pour :

    • L’enregistrer sur le stockage.
    • Le traiter ou le modifier.
  • Traduire dans une autre langue.

La popularité des smartphones combinée à des appareils photo toujours plus performants a entraîné une augmentation de l’utilisation de ce type de techniques de reconnaissance et une nouvelle catégorie d’applications mobiles qui en font usage.

Sur l’appareil ou dans le nuage ?

Avant d’utiliser une bibliothèque OCR, il est nécessaire de décider où le processus d’OCR doit avoir lieu, sur le smartphone ou dans le nuage.

Selon les requêtes de l’application, chaque approche a ses avantages et ses inconvénients.

Si l’application nécessite, par exemple, d’effectuer la reconnaissance de caractères sans connexion internet, le moteur OCR sera lancé sur l’appareil lui-même. De cette façon, l’envoi d’images à un serveur pourrait être évité, car les caméras montées sur les appareils actuels peuvent prendre de grandes photos.

D’autre part, les bibliothèques d’OCR ont tendance à occuper beaucoup d’espace, étant nécessaires pour télécharger chacune des langues à reconnaître, comme nous l’expliquerons ci-dessous.

Quelles bibliothèques peuvent être utilisées?

Dans le lien suivant vers Wikipedia, il y a un tableau comparatif avec toutes les bibliothèques d’OCR, les plateformes supportées, les langages de programmation utilisés dans son développement et d’autres informations pertinentes.

Lien : http://en.wikipedia.org/wiki/ Liste_des_logiciels_de_reconnaissance_de_caractères_optiques

Dans ce post, nous allons utiliser la bibliothèque Tesseract, qui se démarque des autres. Elle est Open Source, possède un SDK, a été créée par HP et est actuellement développée par Google.

OCR sur Android en utilisant la bibliothèque Tesseract

Althoug Tesseract peut être exécuté sur un serveur Linux en tant que service cloud, dans ce post nous allons mettre en œuvre la bibliothèque Tesseract dans une application Android, en lançant le moteur OCR sur l’appareil lui-même.

Le projet original de Tesseract pour Android est appelé Tesseract Android Tools et contient des outils pour compiler les bibliothèques Tesseract et Leptonica pour une utilisation sur la plate-forme Android, et une API Java pour accéder à ces bibliothèques compilées nativement.

Lien : https://github.com/rebbix/tesseract-android-tools/tree/master/tesseract-android-tools

Pour notre exemple, nous allons utiliser un fork de Tesseract Android Tools, qui ajoute plus de fonctionnalités.

Lien : https://github.com/rmtheis/tess-two

Exemple d’OCR sur Android

Nous avons besoin de quelques étapes simples pour effectuer l’OCR sur Android:

Considérations

  • La qualité de la reconnaissance peut varier en fonction des conditions d’éclairage de l’image, de la résolution de la caméra, de la police du texte, de la taille du texte et autres…
  • Pour obtenir la meilleure qualité possible, il est très important de centrer le texte dans l’image et l’image est correctement mise au point.

Visualisation de l’utilisation de l’OCR dans une application de traduction

La vidéo suivante montre une partie de l’application que je développe pour mon projet final de diplôme (TFG), où j’utilise les techniques d’OCR décrites.

Laisser un commentaire