Ako pouzit funkciu extract z kniznice numpy v taktomto pripade? Pouzivam python 2.
Dane su dve ndarray polia img[riadok][stlpec][rgb_zlozka] zodpovedajuce nejakemu obrazu a alfa[riadok][stlpec] pole s hodnotami "priehladnosti". Pre kazdu z uvazovanych hodnot alfa by som potreboval dostat zoznam rgb trojic z obrazu, ktore jej prisluchaju. Pokusal som sa to urobit takto:
numpy.extract(numpy.equal(ALFA_HODNOTA, alfa), img).reshape((-1, 3))
Problem je vsak to, ze to python to spracuje ako 1D polia, tzn. hodnota alfa[0][0] je sparovana s img[0][0][0], alfa[0][1] s img[0][0][1], alfa[0][2] s img[0][0][2]... potreboval by som aby alfa[0][0] bola sparovana s img[0][0], alfa[0][1] s img[0][1], alfa[0][2] s img[0][2] atd. Vysledkom teda je pole, ktore obsahuje rovnaky pocet prvkov ako ma pole alfa a prvkami su zlozky rgb trojic, nie rgb trojice. Kedze sa prvky spracuvaju po jednom alfa pokryva len prvu tretinu RGB zloziek obrazu. Existuje nejake lelegantnejsie riesenie ako pouzitie trojrozmerneho alfa pola s rovnakou alfa hodnotou pixelu pre kazdu zlozku rgb trojice?
Pole alfa obsahuje prevazne obdlznikove regiony s rovnakou alfa hodnotou. Ako efektivne nastavovat alfu pre pixely ohranicene suradnicami praveho horneho (riadok1, stlpec1) a laveho dolneho (riadok2,stlpec2) rohu obdlznika? Momentalne to robim len v dvoch for cykloch, alfa[riadok1:riadok2][stlpec1:stlpec2] = ALFA_HODNOTA nefunguje.