Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> Rozkładanie captchy
0g0r
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 24.10.2009

Ostrzeżenie: (0%)
-----


Cze (IMG:style_emoticons/default/smile.gif)
Mam pewien problem, a właściwie dotyczy on rozłożenia dynamicznie generowanej captchy, a następnie przekształcenia wyniku na znaki.

Jak mogę to zrobić?
Liczyłbym na jakieś konkretne instrukcje.

Z góry dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


zobacz może tutaj:
http://caca.zoy.org/wiki/PWNtcha
Go to the top of the page
+Quote Post
0g0r
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 24.10.2009

Ostrzeżenie: (0%)
-----


To odpada.

Chodzi mi o konkretne funkcje, których można użyć.
Go to the top of the page
+Quote Post
#luq
post
Post #4





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Jakieś tam podstawowe informacje http://luq10.wordpress.com/2010/01/28/niec...-napisac-swoja/
Go to the top of the page
+Quote Post
0g0r
post
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 24.10.2009

Ostrzeżenie: (0%)
-----


Dzięki wielkie (IMG:style_emoticons/default/smile.gif)

Potrzebuję jeszcze jednak jakiejś funkcji, która by wyprostowała obrócone znaki.

Go to the top of the page
+Quote Post
Quadina
post
Post #6





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Funkcji która prostuje samej w sobie raczej nie znajdziesz, to już są przeliczenia na tablicach, podchodzić może pod sztuczną inteligencję (biblioteka fann). Jakby to było takie proste, to by wszystkie boty już miały napisane odpowiednie moduły ;-)
Go to the top of the page
+Quote Post
0g0r
post
Post #7





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 24.10.2009

Ostrzeżenie: (0%)
-----


Więc jak sugerowałbyś to zrobić?

Używam poniższego kodu do usunięcia tła.
Cytat
$map = array();
for($y=0; $y<$height; $y++)
{
for($x=0; $x<$width; $x++)
{
$img = imagecolorsforindex($img, imagecolorat($img, $x, $y));
$map[$x][$y] = ($color['red'] + $color['blue'] + $color['green'] < 200) ? TRUE : FALSE;
}
}


Następnie chce obrócić otrzymaną zawartość ale coś nie wychodzi.

Cytat
$c = imagecolorallocate($img, 255, 255, 255);
$p = imagerotate($img, 20, $c);


Co robię nie tak?

Ten post edytował 0g0r 4.12.2010, 23:17:57
Go to the top of the page
+Quote Post
Quadina
post
Post #8





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Robiłem kiedyś podobny projekt i relalizacją mniej więcej wyglądała następująco:

1a. Liczyłem średnią koloru w obrazku, następnie zamieniałem wszystko pod średnią na biały, nad średnią na czarny - w roli filtru kolorów przeszkadzajek itd itp, ale nie sprawdza się to przy tłach obrazkowych
1b. Próbowaliśmy również pomyśleć nad sposobem przejścia co jakiś tam kolor istniejący w grafice; każde przejście odbywało się na zasadzie skanowania z lewo na prawo, czy istnieją w miarę równe luki (odchylenie standardowe) - w roli spacji
2. Dzielimy podobną metodą jak w 1b na bloki w których coś jest - prawdopodobnie będą to litery
3a. Skanujemy każdą z liter na podstawie własnych wzorców np. powiększając nasz wzór do wielkości wyciętego fragmentu obrazka; następnie sprawdzaliśmy część wspólną tych tablic; litera ze wzoru, która miała najwięcej pikseli wspólnych oznaczała dla nas rozpoznanie litery, ale tylko gdy miała więcej niż 90% trafień
3b. Operacją alternatywną do 3a, czyli trochę bardziej trudną było wrzucenie wszystkiego do mechanizmu fann. To jest, nauczenie wygenerowanej przez nas maszyny inteligentnej wzorów na podstawie wzorca 7x5 pikseli; zmniejszenie litery z punktu 2 do takiej wielkości i podanie jej mechanizmowi sztucznej inteligencji do rozpoznania. Ten mechanizm opisany w tym podpunkcie można zobaczyć na http://musk.quadina.pl/ odpowiednio zaznaczając checkboxami literkę na całej płaszczyźnie.

EDIT: własnie zauważyłem, że link nie działa - postaram się go w ciągu kilku godzin uruchomić.

Ten post edytował Quadina 4.12.2010, 23:19:30
Go to the top of the page
+Quote Post
0g0r
post
Post #9





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 24.10.2009

Ostrzeżenie: (0%)
-----


U mnie jest o tyle prościej, że mam tylko w tle szarą kratkę i czarne cyfry. Problemem dla mnie jest to, że są poobracane o jakiś kont.

W poprzednim moim poście właśnie podałem swoje kody, których używam.
Go to the top of the page
+Quote Post
Quadina
post
Post #10





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Ok, ale co ci się pojawia po obróceniu o te 20 stopni? "Coś nie wychodzi" to trochę za słaba informacja dla mnie - wybacz, może jestem już zbyt zmęczony.
Go to the top of the page
+Quote Post
0g0r
post
Post #11





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 24.10.2009

Ostrzeżenie: (0%)
-----


Tak, przepraszam też jestem zmęczony...
A więc przekształca się cały obrazek wraz z tłem, a nie same znaki.
Go to the top of the page
+Quote Post
Quadina
post
Post #12





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Zwróć uwagę co robi Twój kod do usuwania tła. Budujesz sobie tablica $map, ale nie zapisujesz jej do resource obrazka, zatem później obracanie działa dla całości, a nie tego co wyliczyłeś.
Go to the top of the page
+Quote Post
thek
post
Post #13





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Włączam się w temat panowie. Fajnie się gada, ale moim zdaniem o tym jak kapcia rozgryźć to nie na tym forum. Nie pomagamy w obchodzeniu zabezpieczeń, więc temat "wyciszam". Chcecie sobie o tym pogadać? Macie inne możliwości.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 12:27