Question

Est-ce que quelqu'un connaît une bibliothèque c ++ pour prendre une image et la reconnaître, de sorte qu'elle puisse trouver des lettres basées sur une police et / ou une hauteur données? Même celui qui ne vous laisse pas choisir une police serait bien (par exemple: readLetters (Image image).

Était-ce utile?

La solution

Je me suis beaucoup penché sur la question ces derniers temps. Votre meilleur est tout simplement Tesseract. Si vous avez besoin d’analyser la présentation au-dessus de l’OCR, optez pour Ocropus (qui utilise Tesseract pour effectuer l’OCR). L’analyse de la mise en page consiste à détecter la position du texte sur l’image et à effectuer des tâches telles que la segmentation des lignes, la segmentation des blocs, etc.

J'ai expérimenté avec Tesseract de très bons conseils qui méritent d'être partagés. Fondamentalement, je devais faire beaucoup de prétraitement pour l'image.

  1. Augmentez / réduisez la taille de votre image d'entrée à 300 dpi.
  2. Supprime la couleur de l'image. Les niveaux de gris sont bons. J'ai en fait utilisé un seuil de dither et fait mon entrée en noir et blanc.
  3. Découpez les fichiers inutiles de votre image. Pour les trois précédents, j'ai utilisé netbpm (un ensemble d’outils de manipulation d’images pour Unix) pour arriver au point où j’obtenais une précision à 100% pour ce dont j'avais besoin.

Si vous avez une police très personnalisée et que vous utilisez Tesseract seul, vous devez & Train; Train " le système - en gros, vous devez alimenter un tas de données de formation. Ceci est bien documenté sur le site tesseract-ocr. Vous créez essentiellement un nouveau " langage " pour votre police et transmettez-le avec le paramètre -l.

L’autre mécanisme de formation que j’ai découvert concerne Ocropus, qui utilise la formation nueral net (bpnet). Il faut beaucoup de données pour créer un bon modèle statistique.

En termes d’invocation de Tesseract / Ocropus, il s’agit de C ++. Ce ne sera pas aussi simple que ReadLines (Image), mais il existe une API que vous pouvez extraire. Vous pouvez également appeler via la ligne de commande.

Autres conseils

Bien que je ne puisse en recommander un en particulier, le terme que vous recherchez est OCR (Reconnaissance Optique de Caractères).

Il existe tesseract-ocr une bibliothèque professionnelle pour le faire.

À partir de ce site Web

  

Le moteur OCR de Tesseract était l’un des trois principaux moteurs du test de précision UNLV de 1995. Entre 1995 et 2006, peu de travail avait été fait à ce sujet, mais il s’agit probablement de l’un des moteurs d’OCR open source les plus précis disponibles

.

Je pense que ce que vous voulez, c'est une Conjecture . Utilisé pour être le projet libgocr. Je ne l'utilisais pas depuis quelques années, mais il était très fiable si vous configurez une clé.

La bibliothèque Tesseract OCR donne des résultats assez précis, ses bibliothèques C et C ++. Mes premiers résultats étaient exacts à environ 80%, mais en appliquant un prétraitement sur les images avant de les intégrer à l'OCR, les résultats étaient précis à environ 95%. Qu'est-ce que le pré-prétraitement:

1) Binarisez le bitmap (B & amp; W a fonctionné mieux pour moi). Comment cela pourrait être fait

2) Ré-échantillonnez votre image à 300 dpi

3) Enregistrez votre image dans un format sans perte, tel que LZW TIFF ou CCITT groupe 4.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top