[-]
Szybkie szukanie


Baner sklepu jdtech.pl
Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
OpenCV i dekapcie
04-08-2016, 09:06
Post: #1
OpenCV i dekapcie
Czy ktos próbował napisac program do rozwiązywania kapci?
Tu znalazłem https://github.com/aero2a/kape-
jakies przykłady
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
04-08-2016, 13:35
Post: #2
OpenCV i dekapcie
To tylko spis kilku kapci zapisany na githubie dla innych do analizy.
Generator samych kodów też kiedyś też znaleźliśmy.
Ale kapeć jest niezłej jakości i nie bardzo da się go tanio rozwiązać, a na pewno nie przez analizę ID i kodów. (to są liczby losowe).
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
06-08-2016, 11:38 (Ten post był ostatnio modyfikowany: 06-08-2016 11:39 przez mikolaj.)
Post: #3
OpenCV i dekapcie
A czy ktoś próbował?
OpenCV ma rozpoznawanie twarzy. Dzieli obraz na maleńkie kawałki (idealne tu właśnie bo to wyjdą zakończenia liter)
Z tego co wiem jest gotowy skrypt do szukania obiektów.
Nauczyć program tych kilkudziesięciu znaków i po problemie. Odczytanie nawet na routerze by poszło. Niestety nauka to chyba duże wyzwanie. Może ktoś ma lepszy komp.

Jeśli jest znany algorytm generowania tych kapci to czy nie dało by się zrobić wyrównanie tego obrazu?
teraz jest porozciągany a nie da się go porozciągac odwrotnie by wyszedł zwykły obraz?
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
06-08-2016, 21:53
Post: #4
OpenCV i dekapcie
Poczytaj trochę o CAPTCHA - ekipa z Aero2 wybrała całkiem dobry generator. To nie jest trywialna praca. wyprostowanie i segmentacja w takich warunkach często jest bardzo trudne.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
16-08-2016, 20:28
Post: #5
RE: OpenCV i dekapcie
alez poczytałem, wyprostowanie nie powinno byc trudne.
jeden obrazek jest wygięty dwoma funkcjami, które są znane. to sinus i cosinus z jakąś wartością.

sumujemy punkty pionowo i poziomo. jesli uzyskamy najwiekszy pik poziomo (kreska) i w miarę odzielone litery (grzebien) pionowo powinno dac się to odczytać. Można nawet metoda prób i błedów. Tylko trzeba napisać to w C . Próbowałem to pisac w skryptowych językach i jest to strasznie długo. Stąd prośba o pomoc w opencv lub innej bibliotece by to wyprostować.

Co więcej. Można by było zapuścić głębokie uczenie i wtedy algorytm sam się znajdzie. Niestety aby to zrobić trzeba mieć duży sprzet. Na prawde duży klaster rzędu kilkunastu komputerów przez tydzień.

P.S. Mam wrażenie , że zamiast zachecac dołujesz by nie napisac jakoś inaczej
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
16-08-2016, 21:14
Post: #6
OpenCV i dekapcie
Ja po prostu mam doświadczenie programistyczne z obróbki obrazu (praca magisterska), interesowałem się historią CAPTCHA jeszcze przed Aero2. Nie jestem specem od łamania tego, ale rozumiem jak to działa.
Jak dobrze poszukasz, znajdziesz generator używany przez Aero2 (szukałem w 2014 jak to wprowadzili i znalazłem, potem ponownie szukałem i nie udało mi się Smile ale nie miałem tyle czasu.
Sam algorytm przeanalizowałem, a do tego biorę pod uwagę:
- skalę zainteresowania
- potencjalny efekt (zmiana algorytmu)
- ramy czasowe (grudzień 2016)
I słabo to widzę. Choć nie zmienia to faktu, że jak czujesz żyłkę badacza algorytmów CAPTCHA, to chętnie potestuję, może w wolnej chwili (na ile dziecko mi pozwoli) pomogę.

Podpowiem, że problemy są dwa:
- Prostowanie (de facto nie jest to największy problem)
- Segmentacja (czarna linia pociągnięta przez napis ma to uniemożliwiać)

Zabawa w algorytm genetyczny nie bardzo ma sens bez głębszej wiedzy (nie mówię o kosztach wynajęcia klastra, załóżmy, że te kilkaset dolarów mamy i umiemy to użyć):
- Minimalna zmiana w parametrach generowania CAPTCHA i algorytm w ten sposób uzyskany może być do wymiany.
- Nie ma pewności, że w ogóle coś ci się uda stworzyć sensownego w ten sposób.

To co ma większe szanse powodzenia to użycie Captcha Brotherhood lub podobnego systemu. I to działa, sam testowałem.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
19-08-2016, 11:06
Post: #7
OpenCV i dekapcie
Jeśli znasz się na obrazach to powiedz mi jak to wyprostować.

jeszcze raz powtarzam, to jest wygiecie o sinus i cosinus razy x,y
jak chcesz znajde jeszcze raz algotyrm w php

Myslisz, ze usluga sie skonczy w 2016?
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
19-08-2016, 20:06
Post: #8
OpenCV i dekapcie
Może i tak, ale w dwóch wymiarach, co trochę komplikuje sprawę. Jak bym poszukał generatora (jak mówiłem kiedyś go już znalazłem, teraz nie daję rady) i spróbował wykombinować parametry, jakie mu zostały podane.

Nie wiem, ale na razie oficjalnie tak.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
31-08-2016, 16:28
Post: #9
RE: OpenCV i dekapcie
Jak to zwykle bywa moje zapiski trzeba bylo odtwarzac z backupu ;-( ale to tak zawsze jak coś się zmienia.
Kod jest w php i jest znany.

http://code.google.com/p/cool-php-captcha
font jest znany bo bardzo stara czcionka. Antykwa http://jmn.pl/en/antykwa-poltawskiego/ w katalogu fonts jest

można zatem wygenerować sobie mnóstwo przykładów pojedyńczych liter.

główny kod to:

protected function WaveImage() {
// X-axis wave generation
$xp = $this->scale*$this->Xperiod*rand(1,3);
$k = rand(0, 100);
for ($i = 0; $i < ($this->width*$this->scale); $i++) {
imagecopy($this->im, $this->im,
$i-1, sin($k+$i/$xp) * ($this->scale*$this->Xamplitude),
$i, 0, 1, $this->height*$this->scale);
}
// Y-axis wave generation
$k = rand(0, 100);
$yp = $this->scale*$this->Yperiod*rand(1,2);
for ($i = 0; $i < ($this->height*$this->scale); $i++) {
imagecopy($this->im, $this->im,
sin($k+$i/$yp) * ($this->scale*$this->Yamplitude), $i-1,
0, $i, $this->width*$this->scale, 1);
}
}

Jak widzisz to losowe liczby od 1 do 2 i proste dwie funkcje.
Nie trzeba idealnie ich znać by rozszyfrowac kapcia. OCR który odpalisz na routerze spokojnie poradzi sobie z drobnymi zmianami. Niestety próbowałem uczyć OpenCV i brakło mi procesora, nauka tesseracta nie powiodła sie. Może źle konfigurowałem
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
31-08-2016, 19:16
Post: #10
OpenCV i dekapcie
Jeżeli uważasz to za możliwe, to ja bym zaczął od wyprostowania (wyznaczenie współczynników wygięcia), a następnie segmentacji - na litery. Ale nie mam pomysłu, jak się za to zabrać, choć szeryfy pomagają.
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
Odpowiedz