[linux] tesseract executable richtig setzen

Probleme bei der Installation?
Antworten
PierreDole
User
Beiträge: 17
Registriert: Sonntag 21. Mai 2017, 20:31
Wohnort: Hambuach

Moin,
zu erst, ich weiß nicht ob ich hier im richtigen Forum bin, oder mein Hilfeersuch in einem Linux-Forum stellen sollte. Ich versuche es erstmal hier.

Ich verzweifle gerade an der Einrichtung von tesseract auf meinem Linux Mint System.

In der Wiki heißt es:
The exact directory will depend both on the type of training data, and your Linux distribution. Possibilities are /usr/share/tesseract-ocr/tessdata or /usr/share/tessdata or /usr/share/tesseract-ocr/4.00/tessdata.
Ins letztere Verzechnis wurde tess bei mir installiert: /usr/share/tesseract-ocr/4.00/tessdata

Der pytesseract-Aufruf sieht bei mir dann so aus:

Code: Alles auswählen

pytesseract.pytesseract.tesseract_cmd = r"/usr/share/tesseract-ocr/4.00/tessdata"
Zum einen bekomme ich hier einen Fehler wegen fehlender Zugriffsrechte:
[Errno 13] Permission denied: '/usr/share/tesseract-ocr/4.00/tessdata'
Zum anderen, wenn ich mir aber die Beispiele vom Windowspfad anschaue, führt er immer zu einer .exe. In meinem Verzeichnis ist nichts, was auf eine ausführbare Datei hindeuten würde.
Bild

Der Versuch mit der Datei 'eng.traineddata' führte zum selben Fehler.

Wirkt auf mich, also würde tesseract nicht vollständig installiert worden sein. Ich habe es einmal per
sudo apt install tesseract-ocr
installiert und dann entfernt und nochmal mit dem Software Manager. Beides lief aufs selbe hinaus.

Leider gibt es nur wenige Hinweise für Linux im Netz. Das meiste ist für Windows. Habe nur diesen einen Anhaltspunkt für Debian gefunden:
You should point the tesseract_cmd to the exact path of the tesseract executable and not to the path of the folder where the tesseract executable is located, which is what you did.

Try this line instead:
pytesseract.pytesseract.tesseract_cmd = '/usr/local/Cellar/tesseract/3.05.01/tesseract'
Wie man am Screenshot sieht, gibt es bei mir keine Datei, die tesseract heißt.

Hoffe, jemand kann mir weiterhelfen.
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Bei Linuxpaketen werden üblicherweise Dateien in viele verschiedene Verzeichnisse kopiert. /usr/bin/tesseract, was automatisch gefunden wird, so dass die Zeile `pytesseract.pytesseract.tesseract_cmd` überflüssig ist.
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@PierreDole: Der Hinweis den Du gefunden hast sagt doch das `pytesseract.pytesseract.tesseract_cmd` auf das ausführbare Programm zeigen muss und Du setzt das auf ein Verzeichnis. Das Rechteproblem ist nicht der Zugriff an sich, sondern das man Verzeichnisse nicht als Programme ausführen kann. Ansonsten gilt was Sirius3 geschrieben hat.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
PierreDole
User
Beiträge: 17
Registriert: Sonntag 21. Mai 2017, 20:31
Wohnort: Hambuach

Vielen Dank! Das hat funktioniert. Habe mir gerade ziehlich vor die Stirn klatschen müssen.
Antworten