Hallo Jens!
Vor langer langer Zeit gab es mal sowas bei der c't.(wenn mein Gedächnis mich nicht im Stich läßt) evtl. find ich den Artikel ja beim Aufräumen wieder. Wäre aber wirklich ein interessantes Projekt, tät ich ja glatt mitmachen.
Ich denke, da gibt es den Ansatz, aus dem Bild die Buchstaben in Striche umzuwandeln, und dann aus dem Wissen heraus, welche Art von Striche welche Buchstaben ergeben (ein H etwa aus zwei senkrechten und einen waagerechten dazwischen) daraus dann die Zeichen abzuleiten. Das hat auch den Vorteil, dass es ziemlich universell fuer alle Schriftentypen, incl. Blockschrift sich eignet. Ich faende aber einen anderen Ansatz erstmal einfacher, naemlich Bilder von jedem Buchstaben zu haben, und diese dann versuchen mit dem Bild in Deckung zu bringen und da wo es gut passt, da kommt da dann der entspechende Buchstabe hin. Blockschrift wird man damit wohl nicht erkennen, aber fuer Schreibmaschinenschrift halte ich dieses Verfahren sogar fuer besser, weil Schreibmaschinentypen oft unterbrochen sind, was eine Erkennung von Linien erschwert. Ich habe mal eine Seite der c't gescannt, ein kleines e herausgegriffen und mit einem kleinen C-Programm versucht, alle es in dem Text zu finden, in dem ich das e ueber das ganze bild in x- und y-Richtung geschoben haben und den Unterschied in Pixeln gezaehlt habe. Diese Unterschiede habe ich als Bild ausgegeben ( toll die Bildformate, die unter Linux gibt, das C-Header-Format, um das Bild und das e einzubinden und das pgm-Format fuer die Ausgabe :-)).So konnte ich visuell die Erkennung beurteilen. In der ersten Version reichte aber die Erkennung nicht aus, als das e auf einem c lag, gab es einmal bloss 38 Fehler, waehrend es eine e-e-Deckung mit 41 Fehlern gab. Dann habe ich das e noch um eine Maske ergaenzt, die einen 2-Pixel-Rand um das e von der Differenz ausschloss, weil die es ja alle etwas in ihrer Form variiieren. Damit konnte ich dann mit einem Threshold von 25 Fehlerpixel eindeutig alle es in dem Text erkennen,keine zuwenig und keine zuviel. Fuer eine Erkennung eines vollstaendigen Textes braeuchte fuer jedes Zeichen halt ein Bildchen und man muesste vorher schonmal das Bild etwas strukturell untersuchen, um zu wissen wo die Zeilen sind, damit man Zeichen fuer Zeichen erkennen kann und nicht das ganze Bild absuchen muss. Wenn man dann noch eine Tabelle mit Folgewahrscheinlichkeiten hat, kann man auch immer nach den an der Stelle wahrscheinlichsten Buchstaben zuerst suchen, was die Suche beschleunigt bzw. die Erkennungsgenauigkeit verbessern kann. Das Verfahren haette natuerlich den Nachteil, dass es fuer jede Schriftart Training braucht, um erstmal die Bildchen fuer jedes Zeichen zu haben. Tschau, Sabine -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux