Fragen zu Tesseract Training auf Deutsch

1,487 views
Skip to first unread message

HaPe

unread,
Nov 20, 2007, 4:55:41 AM11/20/07
to tesseract-ocr
Hallo zusammen,

leider kann ich nicht so gut Englisch um hier alles lesen und
verstehen zu können.
Es wäre schön, wenn mir hier jemand auf Deutsch antworten könnte.

Ich habe Tesseract auf unserem Linux System installiert. Die
gedruckten Texte einer gescannten Tif Datei werden einwandfrei
übersetzt. Kann man Tesseract auch Schreibschriften "an Trainieren"?

Ich habe versucht diese Seite: http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract
zu übersetzen, aber leider kann ich nur sehr schlecht Englisch und
verstehe die Beispiele nicht wirklich.

Kann mir vielleicht jemand auf Deutsch Hilfestellung geben?

Über eine Antwort würde ich mich freuen.

Gruß HaPe

Jeffrey Ratcliffe

unread,
Nov 20, 2007, 5:02:02 AM11/20/07
to tesser...@googlegroups.com
On 20/11/2007, HaPe <HaPeB...@googlemail.com> wrote:
> Ich habe Tesseract auf unserem Linux System installiert. Die
> gedruckten Texte einer gescannten Tif Datei werden einwandfrei
> übersetzt. Kann man Tesseract auch Schreibschriften "an Trainieren"?

Meinst Du Handschrift? Einige Leute hier versuchen es, Tesseract für
Handschrift zu trainieren.

Grüße

Jeff

HaPe

unread,
Nov 20, 2007, 5:13:42 AM11/20/07
to tesseract-ocr
Hallo Jeff,

ja ich meine Handschriften und zwar hauptsächlich handgeschriebene
Ziffern.
Wir scannen bei uns Belege ein, die zum Teil maschinell bedruckt sind
und zum Teil handbeschrieben sind. Der maschinell bedruckte Teil wird
prima übersetzt von Tesseract. Kann man Tesseract so trainieren, dass
es ebenso handgeschriebene Ziffern erkennt?

Danke für Deine Antwort!

Gruß HaPe




On 20 Nov., 11:02, "Jeffrey Ratcliffe" <jeffrey.ratcli...@gmail.com>
wrote:

Jeffrey Ratcliffe

unread,
Nov 20, 2007, 5:22:56 AM11/20/07
to tesser...@googlegroups.com
On 20/11/2007, HaPe <HaPeB...@googlemail.com> wrote:
> Wir scannen bei uns Belege ein, die zum Teil maschinell bedruckt sind
> und zum Teil handbeschrieben sind. Der maschinell bedruckte Teil wird
> prima übersetzt von Tesseract. Kann man Tesseract so trainieren, dass
> es ebenso handgeschriebene Ziffern erkennt?

Wenn die Ziffern getrennt sind und die Handschrift gleich bleibt, wird
es wahrscheinlich gehen.

Aber nur die Handschrift wird trainiert. Und da man 2 "Sprachen" (i.e.
Deutsch, und Deutsch-Handschrift) nicht mischen kann, wirst Du dann
nur die Handschrift erkennen können, und nicht das maschinell
bedruckte Teil.

Grüße

Jeff

HaPe

unread,
Nov 20, 2007, 5:59:03 AM11/20/07
to tesseract-ocr
Hallo Jeff,
danke für Deine Antwort.
Das nicht mischen der beiden Schriften wäre generell nicht so schlimm.
Ich zerlege das Dokument in konkrete Teile, die ich dann einzeln über
Tesseract auslesen möchte. Ich weiss also genau, wo bedruckte Teile
bzw. wo hangeschriebene Teile abgebildet sind. Also könnte ich zwei
ocr Läufe mit unterschiedlichen Sprachdateien starten.

Könntest Du mir erklären, wie ich beim Training vorgehe und die
benötigten Dateien erstelle? Ich habe bis jetzt folgendes versucht
bzw. verstanden:

- Tif Datei mit den handgeschriebenen Ziffern erstellt(0 1 2 3 4 5 6 7
8 9)
- Text Datei erzeugt über --> tesseract datei.tif datei -l deu
Ich erhalte dann folgende Textdatei: <datei.txt>
...
(nicht erkanntes Zeichen) 32 132 86
(nicht erkanntes Zeichen) 92 125 136 182
(nicht erkanntes Zeichen) 199 131 240 178
(nicht erkanntes Zeichen) 248 125 285 183
....
Auf der Seite http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract
steht, dass man nun die Datei von datei.txt in datei.box umbenennen
und bearbeiten soll.
- Ich habe an die Stelle der nicht erkannten Zeichen, dann die
dazugehörige Ziffer eingetragen.

Habe ich das bis hierhin richtig verstanden? Wenn ja wie geht es
weiter?

Ich habe dann noch (ohne zu verstehen was ich da mache) folgende
Befehle ausgeführt:
- tesseract datei.tif junk nobatch box.train
- mftraining datei.tr
- cntraining datei.tr
- unicharset_extractor datei.box
Dabei wurden mir verschieden Dateien erstellt (inttemp, pffmtable,
Microfeat).
Dann das letzte Kapitel <Dictionary Data> konnte ich gar nicht
nachvollziehen.

Könntest Du mir bitte mal die Vorgehensweise an einem Beispiel
verdeutlichen?
Ich verstehe nämlich nicht wirklich den Hintergrund dieses
"Trainings"!

Gruß HaPe







On 20 Nov., 11:22, "Jeffrey Ratcliffe" <jeffrey.ratcli...@gmail.com>
wrote:

Jeffrey Ratcliffe

unread,
Nov 20, 2007, 9:18:33 AM11/20/07
to tesser...@googlegroups.com
On 20/11/2007, HaPe <HaPeB...@googlemail.com> wrote:
> Könntest Du mir erklären, wie ich beim Training vorgehe und die
> benötigten Dateien erstelle? Ich habe bis jetzt folgendes versucht
> bzw. verstanden:

http://translate.google.com/translate?u=http%3A%2F%2Fcode.google.com%2Fp%2Ftesseract-ocr%2Fwiki%2FTrainingTesseract&langpair=en%7Cde&hl=de&ie=UTF8

ist eine schlechte Übersetzung, gibt aber meistens den Sinn.

> - Tif Datei mit den handgeschriebenen Ziffern erstellt(0 1 2 3 4 5 6 7
> 8 9)
> - Text Datei erzeugt über --> tesseract datei.tif datei -l deu
> Ich erhalte dann folgende Textdatei: <datei.txt>
> ...
> (nicht erkanntes Zeichen) 32 132 86
> (nicht erkanntes Zeichen) 92 125 136 182
> (nicht erkanntes Zeichen) 199 131 240 178
> (nicht erkanntes Zeichen) 248 125 285 183
> ....
> Auf der Seite http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract
> steht, dass man nun die Datei von datei.txt in datei.box umbenennen
> und bearbeiten soll.
> - Ich habe an die Stelle der nicht erkannten Zeichen, dann die
> dazugehörige Ziffer eingetragen.
>
> Habe ich das bis hierhin richtig verstanden? Wenn ja wie geht es
> weiter?

Ja.

> Dann das letzte Kapitel <Dictionary Data> konnte ich gar nicht
> nachvollziehen.

Tesseract verwendet 3 Wörterbuch Dateien für jede Sprache. Zwei der
Dateien sind codiert als DAWG, und das andere ist eine reine UTF - 8
Textdatei. Um die DAWG Wörterbuch Dateien zu erstellen, benötigt man
zuerst ein Wortliste für Ihre Sprache. Die Wortliste ist formatiert
als UTF - 8 Textdatei mit einem Wort pro Zeile. Teilen Sie der
Wortliste in zwei Gruppen: die häufige Wörter, und der Rest der Worte,
und verwenden Sie dann wordlist2dawg, um die DAWG Dateien zu
erstellen:

wordlist2dawg häufige_Wörter freq-dawg
wordlist2dawg rest_Wörter word-dawg

Die dritte Wörterbuch Datei namens Benutzer Wörter und ist in der Regel leer.

Grüße

Jeff

74yrsold

unread,
Nov 20, 2007, 9:52:48 AM11/20/07
to tesseract-ocr
English translation would be better for offering comments/suggestions
by others

On Nov 20, 7:18 pm, "Jeffrey Ratcliffe" <jeffrey.ratcli...@gmail.com>
wrote:
> On 20/11/2007, HaPe <HaPeBre...@googlemail.com> wrote:
>
> > Könntest Du mir erklären, wie ich beim Training vorgehe und die
> > benötigten Dateien erstelle? Ich habe bis jetzt folgendes versucht
> > bzw. verstanden:
>
> http://translate.google.com/translate?u=http%3A%2F%2Fcode.google.com%...
>
> ist eine schlechte Übersetzung, gibt aber meistens den Sinn.
>
>
>
> > - Tif Datei mit den handgeschriebenen Ziffern erstellt(0 1 2 3 4 5 6 7
> > 8 9)
> > - Text Datei erzeugt über --> tesseract datei.tif datei -l deu
> > Ich erhalte dann folgende Textdatei: <datei.txt>
> > ...
> > (nicht erkanntes Zeichen) 32 132 86
> > (nicht erkanntes Zeichen) 92 125 136 182
> > (nicht erkanntes Zeichen) 199 131 240 178
> > (nicht erkanntes Zeichen) 248 125 285 183
> > ....
> > Auf der Seitehttp://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract

Jeffrey Ratcliffe

unread,
Nov 20, 2007, 1:54:03 PM11/20/07
to tesser...@googlegroups.com
On 20/11/2007, 74yrsold <withbl...@gmail.com> wrote:
> English translation would be better for offering comments/suggestions
> by others

Except that the point was that he didn't understand the English in the
wiki and needed help.

Regards

Jeff

HaPe

unread,
Nov 21, 2007, 3:54:15 AM11/21/07
to tesseract-ocr
Hallo Jeff,
nochmals vielen Dank für Deine Hilfe. Die Vorgehensweise habe ich
jetzt verstanden.

Ich habe jetzt alle Schritte durchgeführt und mir die Dateien
entsprechend erstellt.

Die Datei <lang.DangAmbigs> wurde nicht erstellt. Benötige ich diese
Datei und wenn ja, wie wird diese Datei erstellt?

Nachdem ich alle Schritte durchgeführt hatte habe ich versucht meine
Tif Datei mit den neu erlernten Zeichensatz zu übersetzen.
-- tesseract scan1.tif result -l new_font

Ich bekam dann folgende Fehlermeldung:

Bad read of inttemp! (mehrmals hintereinander)
Error: Illegal malloc request size!
Fatal error: No error trap defined!
Signal_termination_handler called with signal 2001
Signal_exit 30 SIGNAL ABORT. LocCode: 3 SignalCode: 3

Kannst Du damit etwas anfangen und mir bitte nochmal helfen?

Gruß Peter

PS
Apology all that I German write, but my English is unfortunately very
badly.



On Nov 20, 3:18 pm, "Jeffrey Ratcliffe" <jeffrey.ratcli...@gmail.com>
wrote:
> On 20/11/2007, HaPe <HaPeBre...@googlemail.com> wrote:
>
> > Könntest Du mir erklären, wie ich beim Training vorgehe und die
> > benötigten Dateien erstelle? Ich habe bis jetzt folgendes versucht
> > bzw. verstanden:
>
> http://translate.google.com/translate?u=http%3A%2F%2Fcode.google.com%...
>
> ist eine schlechte Übersetzung, gibt aber meistens den Sinn.
>
>
>
> > - Tif Datei mit den handgeschriebenen Ziffern erstellt(0 1 2 3 4 5 6 7
> > 8 9)
> > - Text Datei erzeugt über --> tesseract datei.tif datei -l deu
> > Ich erhalte dann folgende Textdatei: <datei.txt>
> > ...
> > (nicht erkanntes Zeichen) 32 132 86
> > (nicht erkanntes Zeichen) 92 125 136 182
> > (nicht erkanntes Zeichen) 199 131 240 178
> > (nicht erkanntes Zeichen) 248 125 285 183
> > ....
> > Auf der Seitehttp://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract

Jeffrey Ratcliffe

unread,
Nov 21, 2007, 5:06:30 AM11/21/07
to tesser...@googlegroups.com
On 21/11/2007, HaPe <HaPeB...@googlemail.com> wrote:
> Die Datei <lang.DangAmbigs> wurde nicht erstellt. Benötige ich diese
> Datei und wenn ja, wie wird diese Datei erstellt?

lang.DangAmbigs muss existieren, kann aber leer sein.

Von http://translate.google.com/translate?u=http%3A%2F%2Fcode.google.com%2Fp%2Ftesseract-ocr%2Fwiki%2FTrainingTesseract&langpair=en%7Cde&hl=en&ie=UTF8

Die letzte Datei

Die letzte Datei, die tesseract verwendet, heißt DangAmbigs. Sie
repräsentiert die inhärenten Mehrdeutigkeit zwischen Zeichen oder
Gruppen von Zeichen, und ist derzeit vollständig manuell generiert. Um
das Format zu verstehen, gucken Sie sich das folgende Beispiel an:

1 m 2 r n
3 i i i 1 m

Das erste Feld steht für die Anzahl der Zeichen in das zweite Feld.
Der 3. Bereich steht für die Anzahl der Zeichen, die im 4. Feld. Wie
bei den anderen Dateien, dies ist ein UTF - 8 Format Datei, und somit
jeder Figur können sich durch mehrere Bytes. Die erste Zeile zeigt,
dass das Paar "rn" kann manchmal falsch erkannt werden als "m". Die
zweite Zeile zeigt, dass das Zeichen "m" kann manchmal als "iii"
falsch erkannt werden. Beachten Sie, dass die Zeichen auf beiden
Seiten sollte in unicharset. Diese Datei kann nicht verwendet werden,
um Zeichen aus einem Set zum anderen.

Die DangAmbigs Datei kann auch leer sein.

> Bad read of inttemp! (mehrmals hintereinander)
> Error: Illegal malloc request size!
> Fatal error: No error trap defined!
> Signal_termination_handler called with signal 2001
> Signal_exit 30 SIGNAL ABORT. LocCode: 3 SignalCode: 3

Ich habe ich keine Ahnung mehr.

Does anybody else know what might cause these errors?

Grüße

Jeff

Nguyen Huu Hoa

unread,
Nov 21, 2007, 5:41:21 AM11/21/07
to tesser...@googlegroups.com
Maybe tesseract cannot find the file <lang.inttemp>. This file should be
placed in directory tessdata.

Grüße

Hoa

HaPe

unread,
Nov 21, 2007, 5:53:45 AM11/21/07
to tesseract-ocr
Hallo Hoa,

All files are contained in the directory </usr/local/share/tessdata>
These are also used.

Gruß HaPe

La Monte H. P. Yarroll

unread,
Dec 19, 2007, 12:33:14 AM12/19/07
to tesser...@googlegroups.com
Wenn Sie Eure Trainingdatei auf eine Webseite stecken koenten, wuerde ich versuchen auszufinden was los ist. Entschuldigen Sie mir bitte dass mein deutsch nicht besser ist.
Reply all
Reply to author
Forward
0 new messages