- Offizieller Beitrag
Hi!
Im Anhang mal die ersten Schritte einer OCR (Optical Charcter Recognition, siehe http://de.wikipedia.org/wiki/Texterkennung). Sie ist in C# umgesetzt (benötigt daher das .Net-Framework [in Version 2, wenn ich mich nicht täusche]). Dafür ist es eine Exe-Datei und nur 20 KB groß bisher. Es lässt sich über Kommandozeilenparameter steuern, aber das ist alles noch im Aufbau begriffen.
Mein Ansatz ist nicht der von klassischer OCR wie bei FineReader & Co. Es soll (und kann) nicht darum gehen, eingescannte oder gar handgeschriebene Sachen zu erkennen, sondern Schriften auf dem Computerbildschirm. Das hat den Vorteil, dass ich das Aussehen der Schrift als bekannt oder reproduzierbar voraussetzen kann und die OCR auf die Schrift trainieren kann (aber eben auch muss).
Aufgrund dessen fällt das Auslesen von Captchas hiermit definitiv und komplett weg.
Zum Algorithmus:
Es werden Summen Anzahl der Pixel der gesuchten Farbe pro Spalte gebildet und diese dann mit den gespeicherten "Höhenprofilen" der Buchstaben verglichen (und zwar von groß nach klein). Dabei kann es zu Fehlern kommen, wenn Buchstaben gleiche Pixelanzahlen pro Spalte, aber eine verschiedene Verteilung innerhalb der Spalte haben. Ist mir schon untergekommen, sollte aber recht selten sein.
Man kann hiermit natürlich nicht nur Buchstaben und Zahlen scannen, sondern auch beliebige Formen, die sie wie oben beschrieben sinnvoll klassifizieren lassen.
Wie gesagt, es ist noch einiges zu tun (Editor für Font-Files, Einlesen direkt vom Desktop, Export in Zwischenablage, Datei, ..., Dokumentation, Geschwindigkeitsoptimierung), aber ich poste trotzdem mal eine erste Version.
Im zip-Archiv liegt ein Beispiel-Bild und eine Beispiel-"Schrift" bei - einfach die Start.au3 ausführen zum Testen .
peethebee