Software that sees [Update]

Seit gut einem Jahr habe ich ein neues Hobby: Computer Vision! Ein ziemlich interessantes Thema. Darauf gekommen bin ich durchs Doppelkopfspielen. Wer hat schon Bock einen Punktezettel einzutippen? Ich jedenfalls nicht. Da dachte ich mir, es muss doch möglich sein, die paar Zahlen von einem Stück Software erkennen zu lassen. Zunächst probierte ich es mit tesseract. Ein sehr schönes Programm, allerdings nur für Maschinenschrift geeignet und auch nur für gute Vorlagen. Dann schrieb ich einen kleinen Prototypen in Ruby; der ging schon ganz gut, war aber total langsam.

Mittlerweile bin ich bei C++ und opencv gelandet. Eine wirklich beeindruckende Bibliothek. Das zugehörige Buch habe ich recht günstig erworben – dem freundlichen Dollarkurs sei Dank. Bis zu meinem Ziel – die Doppelkopfabrechnung einlesen zu können – ist es noch ein Stück. Aber immerhin klappt schonmal die Vorverarbeitung des Eingabematerials und die Lokalisierung der Zeichen (und Zeilen). Nachfolgend mal eine kleine Kostprobe. Nicht erschrecken! Es handelt sich dabei nur um einen Kassenzettel (Quelle: Lkawer/wikipedia.org).

Update vom 02.12.2010:

In den letzten Tagen habe ich noch etwas am Algorithmus gefeilt. Das aktuelle Ergebnis ist wirklich ausgezeichnet (Bild 3).