Lecture de texte dans une image en PERL

Chiffres lus par Reconnaissance optique de caractèresComme indiqué dans ce billet précédent, j’avais un souci pour extraire des données d’un site car certaines de ces données n’étaient plus en forme de texte mais d’image. Pour nous, les humains, aucun problème de reconnaitre les caractères ou les chiffres dans une image mais pour un ordinateur c’est beaucoup moins simple.

J’ai donc cherché des solutions d’OCR (Reconnaissance Optique de Caractères) en PERL (langage de programmation) qui permettent d’extraire le texte affiché dans une image. En fouinant un peu, je suis tombé sur le module PERL PerfectCR. Je me suis bien sûr empressé de le tester ce week-end. J’ai du le modifier pour qu’il fonctionne correctement avec les images issues du site en question.

Le principe de ce module est relativement simple ce qui explique qu’il ne fonctionne avec du texte  avec des caractères toujours rigoureusement identiques. Il se charge d’abord de repérer la position des différents caractères dans l’image. Il extrait ensuite l’image de chaque caractère. Il réalise une table de hashage MD5 à partir des couleurs de l’image et il stocke cette valeur dans un fichier à plat. Pour chaque caractère, il vérifie si ce caractère a déjà été lu et donc à la même valeur sinon, il enregistre l’image du caractère avec la valeur de hashage MD5 pour que vous puissiez valoriser le caractère correspondant. Une fois que tous les caractères sont ainsi identifiés ce module peut lire les images et donner la valeur textuelle.

Après intégration, dans mon programme d’extraction, le tout semble fonctionner à merveille. Le traitement tourne en ce moment même.

En tout cas, c’est parfois utile d’être tenace et persévérant.

7 réponses vers «Lecture de texte dans une image en PERL»

  1. Papyli dit :

    Bravo HUBERT
    Papyli

  2. hfisselier dit :

    Merci pour tes encouragements

  3. Jean-Hubert dit :

    Ne jamais rien lâcher. Jamais!

  4. Stéphane dit :

    Décidément ton système de commentaires ne m’aime pas…
    Je voulais juste attirer ton attention sur GOCR (http://jocr.sourceforge.net/) même si apparemment j’arrive après la bataille ;)

  5. Stéphane dit :

    Alleluia !!!

  6. hfisselier dit :

    Effectivement, c’est réglé même si j’ai encore quelques coups de tournevis à donner. Mais merci pour le lien, cela peut être intéressant.

  7. QUIchercheBIENtrouve dit :

    Bonjour,
    Connaissez vous une solution pour faire une reconnaissance ORC à l’upload d’un fichier type scanne, exemple article de journaux…
    L’idée et de récupérer le texte de l’article en l’uploadant sur un serveur par une page ASP par exemple.

Laisser un commentaire