50 likes | 211 Vues
Načítání captcha do matice pixelů. Honza Helán, Tomáš Orálek, David Sochora. Popis problému. Načítání captcha (obrázek = 4 číslice) do matice pixelů, reprezentující každé číslo z obrázku. Cílem je zrychlit ořezání jednotlivých číslic a jejich následné načtení do matice v daný čas.
E N D
Načítání captcha do matice pixelů Honza Helán, Tomáš Orálek, David Sochora
Popis problému • Načítání captcha (obrázek = 4 číslice) do matice pixelů, reprezentující každé číslo z obrázku. • Cílem je zrychlit ořezání jednotlivých číslic a jejich následné načtení do matice v daný čas. • Program nejdříve ořeže číslice vertikálně a poté horizontálně. • V dalším kroku se každé číslo uloží do řádku (vektoru) matice jako posloupnost bílých a černých pixelů (0 a 1, může sloužit jako vstup pro neuronovou síť, při lámání captcha).
Postup řešení • Dekompozice úlohy • načtení captcha (rozměry 140x40, nebude se paralelizovat) • ořezání captcha (každé číslo rozměry 21x35, paralelizace) • načtení do matice (rozměry 735x 2000, paralelizace) • Dekompozice dat • paralelizovaná část bude pracovat s celými captcha kódy (n1 = 500) a následně s jednotlivými čísly (n2 = 2000)
Postup řešení • Synchronizace • Použití synchronizačního vzoru „Bariéra“ • Každé části (ořezávání a načítání) budou přidělena 4 vlákna • Všechna 4 vlákna musí po ořezání počkat na poslední z nich • Po příchodu posledního vlákna se výsledná matice uloží jako .csv • V cyklu se bude opakovat pro každý captcha obrázek • Škálovatelnost • Při použití více procesorů je možnost znásobit počet vláken