Hallo, ich habe jetzt nach langer Zeit endlich den Entschluss gefasst eine simple Version eines OCR-Readers zu basteln. Jener soll lediglich ein bestimmtes Format erkennen (Schriftart und -größe sind konstant genau wie die Farbe, die Hintergrundfarbe wechselt jedoch).
Zwischen den Buchstabel existiert jeweils eine 1 pixel breite Lücke. Buchstaben sind schwarz
Als ich mich jetzt daran machen wollte, erste Ideen zusammenzustellen und zu coden stand ich vor folgenden Problemen:
Ich beginne also damit die Buchstaben voneinander zu separieren (ich suche die 1 pixel breite lücken). Schon hier befürchte ich dass dies unnötige Zeit frisst (da ich jede y-reihe für jeden x-punkt überprüfen muss). Dennoch wird mir nichts anderes übrig bleiben(?).
Welche Methode soll ich benutzen, um die Buchstaben abzugleichen?
Pixelchecksum funktioniert nicht, weil es nicht den Unterschied zwischen 6 und 9, a nud e usw. erkennt. Also überlegte ich, ob ich die Coords der schwarzen Pixel in einem Array speichern soll um dann den Arrayinhalt abzugleichen. Ich befürchte, das dauert recht lange.
Ich könnte alternativ jeden Buchstaben vorspeichern (mit den 4 möglichen Hintergrundfarben) und damit einen Abgleich machen (vorrausgesetzt man kann Bilder Pixelwise abgleichen(?) )
Also welche Methoden habt ihr schon verwendet und gute Erfahrungen gemacht? Ich baue in diesem Punkt auf Schnelligkeit gleichermaßen wie auf Genauigkeit!
Sollte ich direkt auf dem Screen arbeiten, oder empfiehlt sich ein Screenshot den ich dann überprüfe? Was ist schneller? (Ich tendiere, bei gleichem Zeitaufwand, zu dem screenshot, da der text in den Zeilen verrutscht wenn weiterer Text hinzugefügt wird)
Ich bin bereits gut in AutoIT eingearbeitet, aber mir fehlt das Hintegrrundwissen, welche Methoden schnell und sauber arbeiten und welche veraltet oder einfach nur langsam sind. Habe bisher auch wenig mit Graphiken überhaupt gearbeitet (weiter als bis zum erstelen von screenshots kam ich nicht :P)
Würde mich freuen von etwas erfahreneren Leuten Feedback zu bekommen.
Vielleicht gibt es ja eine Graphik-Klasse die ich übersehen habe mit der vieles einfacher wird oder oder oder...
Selbstverständlich werde ich am Ende meine Lösung (zumindest teilweise) darlegen.
Mit besten Grüßen
zombie36