24 April 2009

OCR Feeder

...die wirklich simple Klickibunti-OS-Lösung für OCR fehlt ja leider immer noch. Heute bin ich aber über das Projekt OCR Feeder von Joaquim Rocha gestolpert, der in Python (als master-thesis) eine recht brauchbare GUI zusammengestöpselt hat. Die sehr beachtliche page segmentation steckt in dem Programm selbst drin (wenn ich den python-code richtig interpretiert habe), das OCR leistet eine externe Engine, also wahlweise ocrad, gocr oder - wär ja nicht ganz unnett - tesseract. OCRFeeder nimmt dann einfach deren output und kann dann daraus ein ODT erzeugen.
Man braucht also nur eine Engine, die ein Bild frisst und den erkannten Text dann nach stdout schreibt. Leider nimmt (das cli von) tesseract aber afaik nur TIFFs und besteht auch noch beharrlich darauf, sein Ergebnis in eine Textdatei zu schreiben.
Damit OCRFeeder trotzdem mit tesseract als Engine funktioniert, hab ich auf Basis des Scripts ocube* mal einen kleinen Wrapper geschrieben, der nichts anderes macht als das Ursprungsbild mit imagemagick nach TIFF zu konvertieren, tesseract auf diesem Bild arbeiten zu lassen und dann die erzeugte Ausgabe nach stdout zu schreiben.
Wie man auf dem Bild sieht, klappt mit diesem Wrapper dann auch tessearact als Engine für OCRFeeder. Wie man aber leider auch sieht, erwartet OCRFeeder wohl normalen ascii-text, tesseract gibt aber natürlich utf-8 aus.
Ob an OCRFeeder noch weitergeschraubt wird (von wem auch immer) und dann die ein oder andere Verbesserung ansteht, bleibt abzuwarten.

(* dürfte bald weg sein der Link, wenn geocities abgeklemmt wird)

Labels: , ,

4 Comments:

At 11:43, Anonymous Anonym said...

Hallo!

Klingt interessant!

Wäre es möglich das Script mit einer kleinen Anleitung zur Verfügung zu stellen?

Bei mir läuft Tesseract unter OCRfeeder nämlich nicht ohne.

Ich habe zwar OCRfeeder inzwischen per XML-Datei dazu gebracht Tesseract aufzulisten. Mehr aber nicht :(

 
At 14:32, Blogger amorphe Welt said...

Danke fürs Interesse. Ne richtige Anleitung ist eher schlecht, das ist auch alles so noch nicht wirklich benutzbar, naja.
Hier das script:
http://nopaste.php-quake.net/256324
bzw. hier:
http://pastebin.de/510

In OCRfeeder dann das Script als Engine einstellen:
http://img79.yfrog.com/i/tesseractwrapperengine.png/

Ja, ich glaub so war's.

Schön wär natürlich, wenn beim OCRfeeder noch was passieren würde, glaub ich aber nicht so richtig dran.

 
At 23:42, Anonymous Renard Voß said...

Danke für die schnelle Antwort. Ich werde die nächsten Tage mal mein Glück mit dem Skript versuchen.

Parallel werde ich mal schauen, wie ich mich GIT/Gitorious klar komme. Da ist das OCRfeeder-Projekt nämlich seit 10 Tagen (seit 5.10.09) untergebracht worden.

Sieht also so aus, als wäre es nicht eingeschlafen.

Ich habe auch von dem Entwickler (Joaquim Rocha) eine zügige Antwort auf eine Frage zu Tesserect/OCRfeeder erhalten und schließe daraus, daß durchaus der Wille besteht das Projekt voran zu treiben.

Siehe hier:

http://www.joaquimrocha.com/2009/08/16/ocrfeeder-hacking-caring-about-tesseract/

Ich meld mich wieder, wenn's Neuigkeiten gibt.

 
At 00:12, Blogger amorphe Welt said...

Ah, sehr gut, Danke für die Hinweise.
Scheint sich ja zu lohnen da mal dran zu bleiben und z.B. gleich den Feed von Rocha zu abonnieren anstatt nur alle paar Monate mal bei Gcode vorbeizuschauen ;)
Super, ich bin gespannt was da noch kommt.

 

Kommentar veröffentlichen

<< Home