Question

Est-il possible de limiter le jeu de caractères Tesseract est à la recherche ( par exemple, rechercher uniquement les lettres az)? Cela améliorerait mes résultats beaucoup.

Était-ce utile?

La solution

Créer un fichier de configuration (lettres "par exemple") dans tessdata / configs répertoire - habituellement /usr/share/tesseract/tessdata/configs
ou
/usr/share/tesseract-ocr/tessdata/configs

Et ajoutez cette ligne dans le fichier de configuration:

tessedit_char_whitelist abcdefghijklmnopqrstuvwxyz  

... ou peut-être [a-z] fonctionne .. :-) Je sais pas
Ensuite, appelez Tesseract semblable à ceci:

tesseract input.tif output nobatch letters  

Cela limitera Tesseract à reconnaître que les caractères recherchés

Autres conseils

Pour utiliser dans whitelist un fichier de configuration ou à l'aide du commutateur de ligne de commande -c tessedit_char_whitelist=..., dans la nouvelle version 4.0, vous devrez configurer OCR mode moteur à la « Tesseract originale seulement ». En effet, le nouveau mode « filets Neural LSTM » ne respecte pas le whitelist. Exemple de ligne de commande appropriée pour la version 4.0:

  

Tesseract fichier_entrée output_file --oem 0 -c   tessedit_char_whitelist = abc123

Mise à jour: Dans les nouvelles versions (4.0) il y a fichier corrompu eng.traineddata installé par défaut par Windows et certains programmes d'installation Linux. Solution temporaire consiste à remplacer le fichier tessdata\eng.traineddata avec une ancienne version de. Ce fichier doit être d'environ 30MB. Sinon, vous obtiendrez Erreur: « Tesseract n'a pas pu charger toutes les langues! » ou similaire.

En plus du fichier de configuration, est le drapeau -c:

tesseract stdin stdout -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz -psm 6

Il suffit d'ajouter ceci pour toute personne qui utilise Tesseract sur Android. Dans votre fonction readOCR où vous définissez la langue, etc. ajoutez la ligne suivante;

tesseract.setVariable("tessedit_char_whitelist","ABCDEFGHIJKLMNOPQRSTUVWXYZ");

vous pouvez également faire Blacklist pour les caractères à exclure.

Dans la version 4.00 Tesseract, cela ne peut être fait. Vous ne pouvez affiner votre modèle ou utiliser regex pour supprimer des caractères supplémentaires de la prédiction.

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