Re: Komandozeilenprogramm zur Nachbearbeitung von OCR
Am 21.01.19 um 11:22 schrieb Horst Felder:
Hallo!
Ich habe ein Buch gescannt. Nach dem OCR der Scans mit tesseract-ocr
möchte ich noch automatisch die Zeileumbrüche (LF) entfernen und
getrennte Wörter zusammenfügen (und natürlich den Trennungsstrich
entfernen).
Meine Recherchen haben bisher nur ein Libreoffice-Plugin names
Pepito-Cleaner (der scheint aber nur auf Probleme hinzuweisen und
behebt sie nicht automatisch) und das Gnome-Programm gimagereader
zutage gefördert. Letzteres macht bei der Nachbearbeitung des Scanns
genau das was ich will, es kann u.a. die Umbrüche entfernen (Absätze
bleiben bestehen) und die getrennten Wörter wieder zusammenfügen.
Leider kann man das nicht automatisieren.
Gibt es ein Kommandozeilenprogramm das eine ähnliche Funktionalität
hat (damit ich es in ein Script packen kann)?
Kommt ein Bisschen drauf an, was Du dann weiter machen willst. Ich würde
mir mal "sed" ansehen.
Das kannst Du als Programm mit der Textdatei direkt nutzen (auf
Komandozeile ohne extra Script):
sed -i 's/\n//g' datei.txt
oder in einem Script (hier eine Anweisung aus einem Perl-Script,
entfernt alle "Newline"/ Zeilenumbrüche):
$text =~ s/\n//g;
Der Syntax ist 's/Suchstring/Ersetzung/g',. Wenn als Ersetzung nichts
angegeben wird, dann löscht man den Suchstring.
Das "g" sagt, dass alle Vorkommen des Suchstrings ersetzt werden sollen.
Da hilft auch die manpage....
Kannst auch mal im Netz suchen, z.B.: [1]
Für alle Zeilenumbrüche (event. sind das "\n\r" für "newline - carriage
return"/ Wagenrücklauf mit Zeilenvorschub) sollte das funktionieren. Das
mit den getrennten Wörtern, ist so eine Sache. Könnte event. so
funkionieren:
$text =~ s/-\n\r//g;
Ist aber ohne Garantie/ ungetestet!
[1]
http://www.theunixschool.com/2014/08/sed-examples-remove-delete-chars-from-line-file.html
--
Mit freundlichen Grüßen
Sebastian Reinhardt
Reply to: