Question

J'ai cette image:

text alt

Je veux lire à une chaîne en utilisant python, que je ne pensais pas serait difficile. Je suis tombé sur Tesseract, puis un emballage pour les scripts python utilisant Tesseract.

Je commencé à lire des images, et il est fait bien jusqu'à ce que j'ai essayé de lire celui-ci. Est-ce que je vais devoir former pour lire cette police spécifique? Des idées sur ce que la police est spécifique? Ou est-il un meilleur moteur de ocr je pourrais utiliser avec python pour faire ce travail.

Edit: Peut-être que je pourrais faire une sorte de vecteur autour des chiffres, puis les redessiner dans une plus grande taille? Les images plus grandes sont les mieux ocr tesseract semble les lire (pas de surprise lol).

Était-ce utile?

La solution

Il suffit de former le moteur pour les 10 chiffres et un « » . Ça devrait le faire. Et assurez-vous de changer votre image en niveaux de gris avant elle après ROC.

Autres conseils

La formation est dure et n'est pas ce qui est vraiment nécessaire ici. La distinction entre O et 0 et l et 1 vont être dur, peu importe le script. Limiter l'OCR de choisir uniquement entre les chiffres numériques simplifie considérablement le problème, si le contexte le permet.

Mon intérêt pour Tesseract est dans le traitement de beaucoup de chiffres, de vieux rapports gouvernementaux. Dans ce cas, et dans le cas en question, le jeu de caractères sera quelque chose comme « 0123456789 » A la suite d'un commentaire dans l'ancien groupe de discussion (SourceForge) pour Tesseract, par eric_taj sur 2007-03-21, vous pouvez modifier Templates-> IndexFor et Templates-> ClassIdFor dans Classifier / intproto.cpp pour masquer les caractères qui ne doivent pas être autorisés . J'ai modifié cette approche un peu à lire dans des caractères admis lors de l'exécution dans une variable d'environnement, afin que je puisse régler le jeu permis à la volée.

Il y a eu beaucoup de trafic sur ce sujet dans la discussion Tesseract OCR groupe ces derniers temps. Vous aurez besoin d'utiliser un « langage » de simples chiffres. Beaucoup de gens ont formé le moteur de cette façon auparavant. On dirait que vous essayez de déjouer un système de protection des données captcha ... tss, tss.

Reconnaître petits caractères de l'écran peut être difficile pour l'usage général OCR qui est optimisé pour la lecture de police de grande taille lisse numérisée à partir de papier.

Vous pouvez essayer de mieux capture d'écran spécial OCR comme Textract SDK . Il recueillera toutes les polices locales et de fournir 100% la reconnaissance précise par le caractère correspondant simplement à caractère.

Cela ressemble à la police Eurostile. Oui, vous devrez former avec chaque police différente qui est utilisée dans vos images source.

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