Question

Je construis une application iOS (prendre une photo et exécuter OCR sur elle) à l'aide Tesseract (une bibliothèque OCR) et il fonctionne très bien avec des chiffres et des caractères bien écrit (en utilisant les polices habituelles).

Le problème que j'ai est que si je l'essayer sur un afficheur 7 segments, il donne des résultats très très mauvais.

Alors ma question est: Est-ce que quelqu'un sait comment je peux aborder ce problème? Y at-il un moyen pour Tesseract de reconnaître ces caractères?

Était-ce utile?

La solution

Moi aussi eu beaucoup de mal à obtenir Tesseract reconnaître des chiffres à partir d'images d'écrans LCD.

J'ai eu un certain succès marginal par prétraiter les images avec ImageMagick pour superposer une copie de l'image sur elle-même avec un léger décalage vertical pour combler les écarts entre les segments:

$ composite -compose Multiply -geometry +0+3  foo.tif foo.tif foo2.png

En fin de compte, cependant, ma grâce salvatrice a été le " Seven Segment de reconnaissance optique de caractères " binaire: http://www.unix-ag.uni-kl.de/~auerswal/ssocr/

Un grand merci à l'auteur, Erik Auerswald, pour ce code!

Autres conseils

Je n'ai pas essayé Affichage 7 après ROC Segment, mais je soupçonne que le problème pourrait être causé par les caractères ne pas être composants connectés. Tesseract ne gère pas bien les polices déconnectées de mon expérience.

Simple érosion (pré-traitement d'image) pourrait aider en connectant des segments, mais vous devez le tester et jouer avec la taille du noyau pour éviter une trop grande distorsion.

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