Ich habe ein Problem mit der Ausführung der Tesseract-OCR-Engine unter Linux. Ich habe RUS-Sprachdaten heruntergeladen und in das Verzeichnis tessdata (/ usr / local / share / tessdata) gestellt. Wenn ich versuche, tesseract mit dem Befehl auszuführen tesseract blob.jpg out -l rus
, wird ein Fehler angezeigt:
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.
Laut Kompilierungsanleitung habe ich verwendetexport TESSDATA_PREFIX='/usr/local/share/'
auf mein Tessdata-Verzeichnis verwiesen. Vielleicht sollte ich irgendwelche Konfigurationsdateien bearbeiten? Tesseract versucht, 'eng'-Datendateien anstelle von' rus 'zu laden.
Screenshot: http://i.stack.imgur.com/I0Guc.png
/usr/share/tesseract-ocr/tessdata/
Am einfachsten ist es, das benötigte Paket zu installieren:
Wie Sie sehen können, öffnet es den Weg zu anderen Sprachen (dh tesseract-ocr-fra).
quelle
tesseract --list-langs
, um alle verfügbaren Sprachen anzuzeigen. Sie können auch verwendensudo apt-get install tesseract-ocr-*
, um alle von ihnen zu installierentesseract-data-eng
usw.Ich hatte diesen Fehler auch auf dem Windows-Computer.
Meine Lösung.
1) Laden Sie Ihre Sprachdateien von https://github.com/tesseract-ocr/tessdata/tree/3.04.00 herunter
Zum Beispiel habe ich für eng alle Dateien mit dem Präfix eng heruntergeladen.
2) Legen Sie sie in das tessdata- Verzeichnis eines Ordners. Fügen Sie diesen Ordner als TESSDATA_PREFIX zu Systempfadvariablen hinzu .
Das Ergebnis ist System env var: TESSDATA_PREFIX = D: / Java / OCR. Der OCR-Ordner enthält Tessdaten mit Sprachdateien.
Dies ist ein Screenshot des Verzeichnisses:
quelle
Bei mir hat keine vorherige Lösung funktioniert.
Ich habe beide von installiert
apt-get
die Tessdaten als auch durch manuelles Herunterladen installiert, bin umgezogen/usr
und so weiter, und niemand hat funktioniert, selbst wenn ich die Variable tausendmal exportiert habe.Schließlich habe ich bei einem letzten Versuch vor dem Weinen versucht, den Pfad direkt an die Instanz von Tesseract () zu übergeben.
In Python:
tr = Tesseract("/usr/local/share/tesseract-ocr/")
und jetzt funktioniert es. Zur Verdeutlichung verwende ich eintesserwrap
Modul.quelle
In meinem Fall die Fehler, die ich gemacht habe oder Versuche, die kein Erfolg waren.
TESSDATA_PREFIX
mit den oben genannten Pfaden verwendetDie ersten 2 Versuche haben nicht funktioniert, da die Dateien aus
git clone
aus den Gründen, die ich nicht kenne, nicht funktioniert haben. Ich bin mir nicht sicher, warum der dritte Versuch für mich funktioniert hat.Schließlich,
wget
--tessdata-dir
mit dem Verzeichnisnamen verwendetFür mich bedeutet dies , das Tool gut zu lernen und es zu nutzen , anstatt sich auf die Installation und die Verzeichnisse des Paketmanagers zu verlassen
quelle
Sie können die Tesseract-API-Funktion über C-Code aufrufen:
Und baue diesen Code:
(Ich brauche FreeImage zum Laden von Bildern)
quelle
Ich verwende die Visual Studio 2017 Community Edition.
Ich habe dieses Problem gelöst, indem ich im Debug-Verzeichnis meines Projekts ein Verzeichnis namens tessdata erstellt habe. Dann lege ich die Datei eng.traineddata in dieses Verzeichnis.
quelle
Ich verwende das Windows-Betriebssystem, habe alle oben genannten Lösungen ausprobiert und keine davon funktioniert.
Schließlich installiere ich Tesseract-OCR auf dem Laufwerk D (von wo aus ich mein Python-Skript ausführe) anstelle des Laufwerks C und es funktioniert.
Wenn Sie also Windows verwenden, führen Sie Ihr Python-Skript auf demselben Laufwerk wie Ihre Tesseract-OCR aus.
quelle
C # -Entwickler, der hier unter Windows arbeitet. Was für mich funktioniert, ist einfach die Datei eng.traineddata von der folgenden URL herunterzuladen :
https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata
und kopieren Sie es in das folgende Verzeichnis in meinem Konsolenanwendungsprojekt:
[Projektverzeichnis] \ bin \ Debug \ tessdata
Ich habe den Tessdata- Ordner oben manuell erstellt .
quelle
Für Windows-Benutzer:
Fügen Sie unter Umgebungsvariablen eine neue Variable in der Systemvariablen mit dem Namen "TESSDATA_PREFIX" und dem Wert "C: \ Programme (x86) \ Tesseract-OCR \ tessdata" hinzu.
quelle
quelle