Jump to content
Nokioteca Forum

[pc] Decodifica Captcha


Recommended Posts

Qualcuno ha mai avuto esperienze con la decodifica dei captcha?

Mi piacerebbe riuscire a realizzare un motore per la decodifica dei captcha che vengono utilizzati su symbiansigned...

Ne riporto qui di seguito alcuni esempi:

62281056.jpg

87235386.jpg

captcha.jpg

captcha.jpg

Ho gia' fatto diverse prove ma con scarsi risultati...

I problemi maggiori sono:

- filtrare l'immagine rimuovendo lo sfondo (very hard!?)

- separare opportunatamente i vari caratteri (easy!?)

- riconoscerli (hard!?)

A favore c'e' il fatto che il range dei possibili caratteri e' limitato: 0-9 A-F

Dalle vari immagini si nota che la deformazione che viene applicata al carattere in una certa posizione e' sempre la stessa... Vale a dire che tutti i caratteri "5" in prima posizione sono sempre molto simili tra loro.

Quindi, se si riesce ad identificare con successo il carattere in prima posizione, non dovrebbe essere un problema riconoscere anche quelli in posizione 2, 3, 4, 5, 6 7, 8

Semplificando, il problema diventa:

- Come fare per filtrare e riconoscere il primo carattere della stringa?

Riporto qui alcune immagini del primo carattere...

24946993.png

end249.png

56057241.png

62578363.png

end57.png

90830313.png

63894010.png

end81.png

end441.png

Modificato da Il.Socio
Link to comment
Condividi su altri siti

so che magari non farà al caso tuo, però io per i miei programmi che necessitano di risoluzione captcha utilizzo "decaptcher", un servizio a pagamento (2$ ogni 1000 captcha), dietro ci sono persone che risolvono i captcha 24 ore su 24 7 giorni su 7 e offrono api per molti linguaggi.

http://decaptcher.com/client/

Modificato da dany88
Link to comment
Condividi su altri siti

Recentemente ho sperimentato questo servizio:

http://captcha-bypass.com/csharp.php

E l'ho trovato molto valido, con una percentuale di riconoscimento di circa il 95%

Vorrei pero' qualcosa offline in modo da slegarmi deltutto da questi servizi...

Modificato da Il.Socio
Link to comment
Condividi su altri siti

capito, tra i due preferisco decaptcher, se non altro è lowcost (2 dollari ogni mille captcha, contro i 9 richiesti da captcha-bypass) oltretutto ti rimborsano i captcha errati (se hai un modo per verificare che sia errato).

Per quanto riguarda il problema di ocr, vedendo meglio non sembra impossibile, se riuscissi a togliere lo sfondo (e quindi dare un colore uniforme al carattere), si potrebbe riuscire con una suddivisione fissa dei caratteri (intendo dividere l'immagine ogni XX pixel) e poi un confronto pixel per pixel con immagini precatturate (visto che da quanto ho visto negli esempi del primo carattere, inclinazione e grandezza sono sempre la stesse, il maggiore che ne ha uguali vince.

Modificato da dany88
Link to comment
Condividi su altri siti

Non hai idea di quanto tempo ci abbia passato dietro cercando di rimuovere per bene lo sfondo pacioccando qua e la con filtri vari... ma sino ad ora i risultati sono stati ahime' scarsini :thumbs:

EDIT: oibe'... proprio ora ho ripreso in mano l'ultimo test che avevo fatto e sai che non era poi cosi' male?

Ora posto qualche screenshot :angry:

Modificato da Il.Socio
Link to comment
Condividi su altri siti

Un po di tempo fa si è parlato di un "lettore" del display del contatore di casa. Certo quella è una cosa fissa e costante ma magari puoi prendere alcuni spunti.

Ma perchè ti serve un decodificatore del genere :shifty:?

La risoluzione del captcha gli servirà per automatizzare il processo che ne richiede l'inserimento.

bhè si, la situazione è totalmente diversa, la bastava solamente un confronto pixel per pixel supponendo che le foto fossero scattate sempre dalla stessa posizione, o al limite applicare prima dei controlli sulla foto (trovare inizio e fine del display) e agire di conseguenza. Qua invece non è detto che funzioni il confronto, bisognerebbe provare con diverse "tolleranze" e sopratutto ottenere un buon input dell'immagine su cui agire.

Link to comment
Condividi su altri siti

La risoluzione del captcha gli servirà per automatizzare il processo che ne richiede l'inserimento.

bhè si, la situazione è totalmente diversa, la bastava solamente un confronto pixel per pixel supponendo che le foto fossero scattate sempre dalla stessa posizione, o al limite applicare prima dei controlli sulla foto (trovare inizio e fine del display) e agire di conseguenza. Qua invece non è detto che funzioni il confronto, bisognerebbe provare con diverse "tolleranze" e sopratutto ottenere un buon input dell'immagine su cui agire.

Si infatti...stavo pensando però ad una cosa. Se si riuscisse ad uniformare sfondo e testo, bisognerebbe evidenziare alcuni pixel nella zona "nera" ( il testo). Ora basterebbe allineare i puntini (cioè se sono più punti in orizzontale, vengono allineati in orizzontale, tipo retta). Stessa cosa per i puntini verticali, fino a formare il carattere in una forma più semplice. Quindi il carattere I potrebbero essere diversi puntini in verticale, O...eh per la O la cosa si complica un po ma come da sopra diventerebbe un + (tutti i puntini allineati)...e la Q..........vabbè io espongo la mia piccola idea :doh:

Link to comment
Condividi su altri siti

l'idea non sarebbe poi tanto malsana se non fosse che le lettere hanno tutte la stessa inclinazione, intendo dire che se prendi la 3° lettera in 10 captcha diversi, avranno tutte la stessa inclinazione, quindi sarebbe un lavoro inutile raddrizzarle, porterebbe solo un ulteriore modifica dell'immagine di partenza con conseguente calo di affidabilità per successive elaborazioni. Mentre sarebbe una delle strade percorribili se le inclinazioni fossero calcolate in modo random.

Modificato da dany88
Link to comment
Condividi su altri siti

sembrano buoni, prova a vedere se riesci ad ottenere buoni risultati applicando direttamente riconoscimento pixel-pixel e diverse tolleranze su caratteri spezzati manualmente, poi se funziona, crea l'algoritmo per separare le varie lettere (che non è banale, per esempio dividere la D e la E della prima immagine è dura)

Modificato da dany88
Link to comment
Condividi su altri siti

il problema del riconoscimento a blocchetti di pixel, e' che per poterlo applicare prima bisogna allineare i caratteri...

perche' non sono tutti posizionati alla stessa altezza (il primo carattere a volte si trova piu' in alto, a volte piu' in basso, a volte piu' a sx a volte piu' a dx) e purtroppo il "rumore" residuo non facilita per niente questo compito... Non e' facile filtrare il rumore residuo senza perdersi informazioni utili.

Ora mi sto un po' documentando su approcci differenti... mah... vedremo...

Modificato da Il.Socio
Link to comment
Condividi su altri siti

scusa la domanda forse poco attinente al topic, ma perchè decodificare un captcha offline se per averlo devi andare online?

infatti dici di nn volerti appoggiare a sistemi online

Vorrei pero' qualcosa offline in modo da slegarmi deltutto da questi servizi...

non so cosa stia progettando ma spero (come sempre) sia qualcosa di utile :thumbs:

Link to comment
Condividi su altri siti

:thumbs: in effetti...

la parte online verso symbiansigned ci sarebbe comunque...

mi interessa eliminare solo la parte di decodifica captcha in modo da poterla gestire senza l'appoggio di servizi esterni.

EDIT:

a dirla tutta, direi poco utile al momento... pero' questi smanettamenti sulla decodifica dei captcha possono sempre tornare utili in futuro. :mumble:

Ad esempio, mi ha dato modo di giocherellare un po' con AForge, http://www.aforgenet.com/framework/ che prima non conoscevo, ed e' uno spettacolo.

Modificato da Il.Socio
Link to comment
Condividi su altri siti

  • 1 anno dopo...

Please sign in to comment

You will be able to leave a comment after signing in



Accedi Ora
 Share

×
×
  • Crea Nuovo...

Informazione Importante

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy