Hier in der
DP müsste ein Sourcecode von mir mit einem Neuronalen Netz zu finden sein.
Mit diesem Netz habe ich zwei Arten von OCR's realisiert, experimentell versteht sich. Einmal die Bildorientierten OCR's wie die meisten anderen Lösungen auch. Und dann noch die sogennannten Stroke basierten OCR's wie sie zB. auf den Palm HanldHelds im Grafitti-Bereich üblich sind. Dabei wird die Stiftführung als Relativ-Vektor gescannt.
In jedem Fall müssen für das NN die Eingangsdaten normalisiert werden, sprich grafisch kontrastiert werden, danach der relevante Bildausschitt ausgeschnitten werden, dieser auf eine Einheitsgröße scaliert und dann je nach Verfahren in Vektoren für die Inputs des NN's umgewandelt werden.
Bei der reinen Bilderkennung von Buchstaben scanne ich eine Bitmap mit 16x16 Pixel jeweils horizontal, vertical und diagonal. Bei diesem Scanning werden einfach die Anzahl der dunklen Pixel gezählt. Bei 16x16 Bitmaps ergibt dies 16+16+15+15 = 63 Inputwerte für das Netzwerk, schon ziemlich viele für die ersten Tests.
Mit einzelnen Buchstaben funktioniert beides relativ einfach. Kompliziert wird es erst wenn man OCR Texte erkennen möchte. Dort wird dann meistens mit mehreren verschiedenen Netzen gearbeitet, um Seiten, Zeilen, Wörter, Trennzeichen usw. usw. zu erkennen.
Naja auf alle Fälle hat beides ziemlich gut funktioniert.
Gruß Hagen