Buchempfehlung
Visual Basic 6 Kochbuch
Visual Basic 6 Kochbuch
Viele praktische Tipps zum Programmieren mit Visual Basic 6, die sich oft auch auf FB übertragen lassen. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

antpap

Projektzusammenfassung
Projekt-Maintainer:MitgliedThePuppetMaster Projektseite angelegt:31.05.2008
Lizenzierung:k. A. Letzte Bearbeitung:01.06.2008
Projektkategorie:Sicherheit, Internet      [Zurück zur Übersicht]

Spaßeshalber hab ich mich mal dran versucht, das zuvor erstellte Captcha bzw. die vom Generator 'CapTcha' erstellte Bilder zu parsen, um so an die Buchstabenkombination heranzukommen.

Dies erwies sich als äußerst einfach. Ich hätte zwar schon einen Tag später das Programm posten können, wenn ich nicht Probleme mit dem PUT-Befehl gehabt hätte, aber gut...

Auf jeden Fall kamm bei dieser... wohl recht planlosen aktion das hier raus:
acap1.png

Dieses kleine Programm liest ein zu parsendes Bild ein, sowie eine Tabelle von Buchstaben (alternativ die Tabelle vom Captcha-Generator) und beginnt anschließend mit der Bild-Analyse.


Das Funktionsprinzip ...
ist relativ simpel ... Dabei handelt es sich um eine vierstufige, speziell diesem Captcha angepasste Analysierung.

Zuerst wird das Hintergrundrauschen entfernt, das beim Generator nach dem Erstellen draufgeschmissen wurde.
Anschließend wir eine Maske anhand von Farbhäufigkeiten im Bild über ein Raster erstellt.

Mit dieser Maske und dem gefilterten Bild wird nun begonnen, die Objekte zu scannen, und deren Umriss mit Farbe zu füllen (Auch 'Rastnest' genannt).
Diese "Objekttabelle" wird anschließend zerschnitten und ausgerichtet, womit sie für den nächsten Prozess bereit steht.

Zum Schluss wird die am Anfang korrigierte Buchstabentabelle als Vergleich herangezogen und jeder Buchstabe auf Passgenauigkeit hin untersucht. Der Buchstabe, welcher eine hohe Passgenauigkeit besitzt, gilt mit hoher Wahrscheinlichkeit als "Richtig erkannt" und wird gespeichert.

Das Ganze wiederhohlt man solange, bis alle Elemente durch sind.

Das Ergebnis des Scans sowie der aktuelle Status der Operation wird unten angezeigt.

Wer einen schnellen Rechner besitzt, und mal die einzelnen Schritte beobachten will, kann die am Anfang stehende Variable "XShow" auf >1< stellen.

Allerdings sei hier zu beachten, das der Scan bedeutend langsamer vorrangeht!!!

Alternativ können auch einzelne "If XShow = 1 Then ..." Elemente auskommentiert werden, um die Geschwindigkeit etwas zu erhöhen.



Und hier der Quellcode:
porticula:586



HF
TPM

Dateimanager
Es wurden bisher keine Sources abgelegt.