111 votes

Erreur de fonctionnement de Tesseract

J'ai un problème avec l'exécution du moteur tesseract-ocr sous linux. J'ai téléchargé les données de la langue RUS et les ai placées dans le répertoire tessdata (/usr/local/share/tessdata). Lorsque j'essaie d'exécuter tesseract avec la commande tesseract blob.jpg out -l rus le système affiche une erreur :

Error opening data file /usr/local/share/tessdata/eng.traineddata

Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.

Failed loading language eng
Tesseract couldn't load any languages!

Could not initialize tesseract.

Selon guide de compilation J'ai utilisé export TESSDATA_PREFIX='/usr/local/share/' pour pointer mon répertoire tessdata. Peut-être devrais-je modifier les fichiers de configuration ? Tesseract essaie de charger des fichiers de données 'eng' au lieu de 'rus'.

Capture d'écran : http://i.stack.imgur.com/I0Guc.png

1voto

John Points 35

J'utilise Visual Studio 2017 Community Edition.
J'ai résolu ce problème en créant un répertoire appelé données d'essai dans le répertoire Debug de mon projet. Ensuite, je mets le eng.traineddata dans ledit répertoire.

1voto

yangli.liy Points 51

Développeur C# travaillant sur Windows ici. Ce qui fonctionne pour moi est simplement de télécharger le fichier eng.traineddata à partir de l'URL suivante :

https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata

et le copier dans le répertoire suivant dans mon projet d'application console :

[Répertoire du projet] \bin\Debug\tessdata

J'ai créé manuellement le données d'essai dossier ci-dessus.

1voto

Khan Points 13

Dans Google Colab, j'ai résolu le problème de la manière suivante :

!sudo apt-get install tesseract-ocr-*

Parce que si vous utilisez cette commande !sudo apt install tesseract-ocr alors il importe 2 langues mais si vous avez l'intention de travailler sur des langues autres que l'anglais alors la première commande fonctionne. Ensuite, utilisez cette commande !pip install pytesseract Vous pouvez également vérifier les langues de cette manière !tesseract --list-langs

0voto

Marwen Sabri Points 1
tessdata_dir_config = r'--tessdata-dir "/usr/local/Cellar/tesseract/4.1.1/share/tessdata"'
pytesseract.image_to_string(imgCrop,lang='eng',config=tessdata_dir_config)

0voto

koussaila Points 1

Ajoutez ceci à votre code :

instance.setDatapath("C:\\somepath\\tessdata");

instance.setLanguage("eng");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X