9.6.2015
ZPRACOVA
NI OBRAZKU
• normalni je metoda ‘resize’
• my chceme – pokud to jde – metodu ‘crop’
• protoze ‘plny’obrazek prodava
• je tedy lepsi obrazek oriznout i za cenu, ze kus chybi
PROC ?
horní je 'resize’ metoda, spodní je 'crop’ metoda používaná u nás … která je lepší ?
zdrojový obrázek (660x273px)
PROBLEM
• bohuzel tech boxikovych rozmeru mame prilis
• rozmery boxiku maji i hodne rozdilne pomery stran
• poskytovane obrazky maji tez velice rozdilne rozmery
• z predeslych duvodu vlastne ani nemuzeme rict zakaznikum, jaky bychom chteli spravny rozmer
Rozhodovani, kterou metodu pouzit, se drive delo jen na zaklade urciteho pomeru stran obrazku a zarazeni nabidky do kategorie … to bohuzel vedlo casto ke spatnemu zpracovani
spatne pouzita metoda 'crop’
zdrojový obrázek (434x375px)
NOVE ZPRACOVANI
• na zaklade ziskanych obrazku lze tvrdit, ze se obrazky daji rozdelit na fotky pobytu (dale jen ‘foto’) a fotky zbozi (dale jen ‘produkt’)
• na ‘foto’ lze pouzit metodu crop
• na ‘produkt’ se musi pouzit metoda resize
• je tedy nutne tedy rozeznat ‘foto’ a ‘produkt’
PRUBEH ZPRACOVANI
1) orez whitespace na zdrojovem obrazku
• po tomto jsou i lepsi male nahledy bez ws
• kdyz ma obrazek ws, tak to (v drtive vetsine) neni ‘foto’, ale ‘produkt’
Uz timhle se odstranilo cca 2/3 predchozich spatnych zpracovani ;-)
konvicka a bezky jsou cele (ws => zmena metody oproti puvodnimu na resize)
houbicky jsou vetsi (zde pomohlo jen oriznuti ws)
okem je jasne viditelne, ze to ma umele pozadi, ze to je ‘produkt’ a ne ‘foto’Jak toto detekovat ??
Bohuzel prvni krok jeste nevyresil obrazky produktu, ktere jsou jiz na zdroji zcela oriznute a pripadna prazdna mista vyplnena pozadim, napr. nektere televize:
2) detekce umeleho pozadi
- detekce souvisle plochy (snih vs nebe)
- pro snih staci nastavit parametry detekce – barva, tolerance sumu, velikosti sumu a procenta pozadi …
- pro nebe dalsi parametr - ‘odkud’ se ma detekovat
A televize uz jsou zase cele ;-)
ZAVER- rozpoznani klasicke fotky od umele
fotky produktu s pozadim …
- DL doporuceni, vlastni zobrazeni, nastaveni na serverech a kategoriich
- manualne - content
trimWhiteSpace:Parametry: $whiteSpaceColor (detect), $tol (5), $noiseTol (16), $noiseSize (5)Obrazek se zmensi na velikost o delsi strane 200px a projizdi se kazdy pixel a kontroluje se jeho kazda barva (RGB) na povolenou toleranci … v potaz se bere sum o sve ‘barevne’ toleranci a povolene velikosti …WS musi byt na kazde strane souvisla plocha, tudiz v pripade ‘nedetekce’ pozadi se pokracuje opacnou stranou (nejprve top, pak bottom) a zbytkem po stranach … neni potreba kontrolovat vsechny pixely … detekovane strany WS jsou pak odriznuty …
contiguousBackgroundMap:Parametry: $trimImage (true), $whiteSpaceColor (detect), $matrixLongest (20), $bcktol (20), $region (self::POS_ALL), $trimtol (5), $strict (false), $noiseTol (16), $noiseSize (5)Obrazek se opet zmensi a je detekovan kazdy pixel je-li pozadim, vysledek je jako bitova mapa. Potom je upravena dle nastaveni typu regionu (souvisla plocha napr. od spodu) a spocteno jako procento pozadi …