staging.inyokaproject.org

environment variable für tesseract

Status: Gelöst | Ubuntu-Version: Xubuntu 20.04 (Focal Fossa)
Antworten |

LinJoe

Anmeldungsdatum:
14. Juni 2018

Beiträge: Zähle...

Hallo zusammen,

bin gerade dabei, mit tesseract Zahlen aus Bildern zu extrahieren, leider mit mäßigem Erfolg ☹

Um die Erkennung mit Tools und Dateien zu steigern, muss ich eine Environment Variable eingeben.

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

Es soll der Pfad zu Dateien angegeben werden, die tesseract zum Arbeiten braucht.

Im Wiki habe ich nachgelesen, verstehe aber nicht alles. Ist das eine Unit (tesseract) ?

Kann ich immer neue Environment Variablen anlegen?

Muss ich in /etc/systemd/ eine Datei tesseract.conf anlegen, in der eine Zeile so aussieht:

TESSDATA_PREFIX=/usr/share/tesseract-ocr/4.00/

Oder doch besser im Home Verzeichnis?

Ich möchte da keinen Fehler machen und das System gefährden, deshalb meine vorsichtige Frage.

LinJoe

(Themenstarter)

Anmeldungsdatum:
14. Juni 2018

Beiträge: 80

Heute bin ich ein Stückchen weiter ☺

Mit der Eingabe im Terminal > TESSDATA_PREFIX=/usr/share/tesseract-ocr/4.00 in dem Verzeichnis /4.00 hat es funktioniert.

Habe aber gelesen, dass es nicht bis zum nächsten Start so bleibt ☹

An welcher Stelle im Wiki ist es richtig erklärt, wie man dauerhaft eine Env Variable speichert?

OHNE etwas kaputt zu machen ??

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 1901

LinJoe schrieb:

An welcher Stelle im Wiki ist es richtig erklärt, wie man dauerhaft eine Env Variable speichert?

Selbst mit dem englischen Suchbegriff lande ich bei Umgebungsvariable. 😉

LinJoe

(Themenstarter)

Anmeldungsdatum:
14. Juni 2018

Beiträge: 80

Selbst mit dem englischen Suchbegriff lande ich bei Umgebungsvariable. 😉

Wie ich schon schrieb, habe ich dort gelesen, jedoch nicht alles verstanden. Daher meine Frage, wie ich ohne Zerstörungen diese Variable dauerhaft setzen kann.

Hier komme ich nicht weiter: (Screenshot des Wiki im Anhang) Umgebungsvariable/Dateien (Abschnitt „Environment-einzelner-Dienste“)

Wo kann/soll ich die Variable speichern? In einem Python-Programm wird tesseract aufgerufen.

tesseract braucht die Environment Variable TESSDATA_PREFIX.

Sollte die Variable in /etc/environment.d/ in eine neue Textdatei z.B. tesseract.conf geschrieben?

Findet sie tesseract dort?

Oder anders gefragt, kann ich die Datei erstellen, ohne dass ich etwas gefährde im System?

Dann werd ich es ausprobieren - trial ans error -

Bilder

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 1901

LinJoe schrieb:

Wie ich schon schrieb, habe ich dort gelesen, jedoch nicht alles verstanden.

Nein, du hattest lediglich geschrieben, dass du im Wiki gelesen hattest, aber nicht nicht wo und was. Da du unter /etc/systemd/ etwas eintragen wolltest, konnte man auch davon ausgehen, dass du an der falschen Stelle suchst. Aber lassen wird das nicht ausufern. Schwamm drüber. 😇

Unter Umgebungsvariable/Dateien sind mehrere Möglichkeiten beschrieben.

Sollte die Variable in /etc/environment.d/ in eine neue Textdatei z.B. tesseract.conf geschrieben?

Das hört sich jetzt besser an. Das schlimmste, das m. E. passieren kann, ist, dass die Variable nach dem Neustart nicht gelesen wird oder bspw. einen Tippfehler enthält. Dann wird die Variable falsch oder leer sein, aber da nur tesseract diese auswertet, funktioniertt nur das nach wie vor nicht.

Findet sie tesseract dort?

Nein, brauch es aber auch nicht, da es nach dem Inhalt der Variablen sucht.

LinJoe

(Themenstarter)

Anmeldungsdatum:
14. Juni 2018

Beiträge: 80

fleet_street schrieb:

Das hört sich jetzt besser an. Das schlimmste, das m. E. passieren kann, ist, dass die Variable nach dem Neustart nicht gelesen wird oder bspw. einen Tippfehler enthält. Dann wird die Variable falsch oder leer sein, aber da nur tesseract diese auswertet, funktioniertt nur das nach wie vor nicht.

ok, habs versucht und es klappt 👍 Danke an fleet_street für den Hinweis, dass nicht so viel schiefgehen kann.

Also ist das Schreiben von Environment-Variablen an der Stelle nicht so kritisch. Bei Systemvariablen ist es wohl schon gefährlich, so wie es im Wiki steht.

Antworten |