Pisząc aplikacje do automatyzacji pewnych procesów na stronach www (dodawarka, spamiarki, autologowanie) często stajezmy z problemem zabezpieczań opartych na tokenach obrazkowych. Polegają one ze jest wygenerowany obrazek z losowym tekstem który należy przepisać do formularza.
Generalnie moim zdaniem tokeny obrazkowe to tylko przeszkadzają w oglądaniu stron, bo ludzie niedowidzący często nie są w stanie rozpoznać co jest napisane na obrazkach, a automaty potrafią sobie poradzić z nimi. W lepszym lub gorszym rezultatem, ale oprogramowanie ma zawsze czas i może wykonać trochę prób aż mu się uda.
Jak oprogramowanie sobie z tym radzi? Schemat działania programu możemy podzielić na parę kroków:
- Pobranie obrazka i jego obróbka w ten sposób aby uzyskać postać czarną białą. Na tym etapie usuwane są śmieci i inne przeszkadzajki (usuwanie szumów, zakłócających linii, itd)
- Podział obrazka tak aby uzyskać pojedyncze znaki
- Główny proces analizy, do tego celu można użyć parę algorytmów:
– analizę opartą na zliczaniu ilości pixeli i porównaniu ich z zapamiętanym wzorcem,
– generowanie dla znaków odcisku (suma pixeli w osi X i Y) i porównanie ich z wzorcem
– użycie sieci neuronowych, na tym etapie trzeba obrazek przeskalować do macierzy i polach odpowiadających ilością neuronów wejściowych (stosuje się macież 3×5 pixeli lub większe)
– użycie zewnętrznych bibliotek do OCRa - Ważnym etapem jest proces nauczenia rozpoznawania danych tokenów, możemy ten proces bardzo łatwo zautomatyzować.
Tutaj przykład mojego skryptu: rozpoznawanie captcha.
Możliwość komentowania jest wyłączona.