Bibaltik
Member
Hallo,
ich benutze den stable Zweig von openSuSE 13.2.
Seit irgendein update (nicht bekannt welches überhaupt) verweigert tesseract die Texterkennung über gscan2pdf.
Der hocr Fix in der Tesseract.pm wurde angewendet und die Texterkennung ging vor kurzem auch.
Ältere Versionen von gscan2pdf bzw tesseract werden über die eingebundenen Repos nicht angeboten.
Erkennung über gocr geht, aber mit einer bescheidenen Erkennung.
Google spuckt natürlich nur Links zum oben genannten hocr fix aus
Irgendwer ein Anhaltspunkt wo es diesmal klemmen könnte?
//Edit:
Schon mal ein Stück näher:
Nun noch raus finden was es mit "tessedit_create_hocr=1" auf sich hat.
//Edit2:
In der Datei /usr/lib/perl5/vendor_perl/5.20.1/Gscan2pdf/Tesseract.pm
musste ich
Wie folgt abändern
Da Tesseract in meiner Version 3.02.02 nur Configfiles akzeptiert und nicht wie im oberen Script Configstrings.
ich benutze den stable Zweig von openSuSE 13.2.
Seit irgendein update (nicht bekannt welches überhaupt) verweigert tesseract die Texterkennung über gscan2pdf.
Der hocr Fix in der Tesseract.pm wurde angewendet und die Texterkennung ging vor kurzem auch.
Ältere Versionen von gscan2pdf bzw tesseract werden über die eingebundenen Repos nicht angeboten.
Erkennung über gocr geht, aber mit einer bescheidenen Erkennung.
Google spuckt natürlich nur Links zum oben genannten hocr fix aus
Irgendwer ein Anhaltspunkt wo es diesmal klemmen könnte?
//Edit:
Schon mal ein Stück näher:
Code:
INFO - Found tesseract version 3.02.02.
INFO - tesseract /tmp/gscan2pdf-IGzz/JviFAF6uTT.pnm /tmp/FIa_xC4nem -l deu -c tessedit_create_hocr=1
DEBUG - Warnings from Tesseract: read_params_file: Can't open tessedit_create_hocr=1
Tesseract Open Source OCR Engine v3.02.02 with Leptonica
Error in pixReadStreamPnm: error in 5
Error in pixReadStreamPnm: error in 5
Nun noch raus finden was es mit "tessedit_create_hocr=1" auf sich hat.
//Edit2:
In der Datei /usr/lib/perl5/vendor_perl/5.20.1/Gscan2pdf/Tesseract.pm
musste ich
Code:
if ( version->parse("v$version") >= version->parse('v3.02.02') ) {
$cmd =
"tesseract $tif $path$name -l $options{language} -c tessedit_create_hocr=1";
}
elsif ( version->parse("v$version") >= version->parse('v3') ) {
$cmd =
"echo tessedit_create_hocr 1 > hocr.config;tesseract $tif $path$name -l $options{language} +hocr.config;rm hocr.config";
}
elsif ( $options{language} ) {
$cmd = "tesseract $tif $path$name -l $options{language}";
}
else {
$cmd = "tesseract $tif $path$name";
}
Code:
if ( version->parse("v$version") >= version->parse('v3.02.02') ) {
$cmd =
"tesseract $tif $path$name -l $options{language} hocr";
}
elsif ( version->parse("v$version") >= version->parse('v3') ) {
$cmd =
"echo tessedit_create_hocr 1 > hocr.config;tesseract $tif $path$name -l $options{language} +hocr.config;rm hocr.config";
}
elsif ( $options{language} ) {
$cmd = "tesseract $tif $path$name -l $options{language}";
}
else {
$cmd = "tesseract $tif $path$name";
}
Da Tesseract in meiner Version 3.02.02 nur Configfiles akzeptiert und nicht wie im oberen Script Configstrings.