Viac

Extrakcia oblastí zo segmentovaného obrázku v pythone


Mám obrázok krajinnej pokrývky a segmentoval som ho. Keďže obrázky majú veľkú veľkosť, odosielam iba ich časť. tu je časť pôvodného obrázku:

tu je zodpovedajúci segmentovaný obrázok:

Na dosiahnutie segmentácie som použil algoritmus klastrovania K-means. Teraz chcem extrahovať rôzne oblasti označené rovnakou intenzitou v segmentovanom obrázku, aby som ich zaradil do krajinnej pokrývky. Je možné extrahovať rôzne oblasti priamo zo segmentovaného obrázku (ak je to možné vo forme mnohouholníkov) a klasifikovať ich.

Pomôžte mi prosím so zdrojom/odkazom alebo spôsobom, ako to urobiť, alebo s tým aspoň začnite. P.s Pracujem na Pythone


Ako sú segmenty definované? Majú označenie raster? Ak je to tak, mohli by ste použiť binárne súbory GDAL na export každého štítka do samostatného binárneho rastra a znásobiť binárny raster k zdroju, aby ste získali požadovaný výsledok.

Povedzme, že chcete transformovať štítok 12, potom by ste urobili niečo ako gdal_calc -A [LabelRasterPath] -B [SourceRasterPath] --calc = "(A = 12)*B" --NoDataValue = 0

Na spracovanie všetkého môžete použiť dávkový súbor.

Ďalšou možnosťou, ak sa chcete držať python numpy, je použiť maskované pole a definovať masku napríklad ako labeledArray == 12.

Ak potrebujete ďalšiu pomoc, dajte nám vedieť.