Seite 1 von 1

[linux] tesseract executable richtig setzen

Verfasst: Mittwoch 11. Mai 2022, 20:41
von PierreDole
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.

Re: [linux] tesseract executable richtig setzen

Verfasst: Mittwoch 11. Mai 2022, 20:48
von Sirius3
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.

Re: [linux] tesseract executable richtig setzen

Verfasst: Mittwoch 11. Mai 2022, 21:00
von __blackjack__
@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.

Re: [linux] tesseract executable richtig setzen

Verfasst: Mittwoch 11. Mai 2022, 21:04
von PierreDole
Vielen Dank! Das hat funktioniert. Habe mir gerade ziehlich vor die Stirn klatschen müssen.