Generalizzazione raster: buffer nei raster, espansione dei pixel?


12

È possibile creare buffer per pixel di file raster? In realtà ho bisogno di espandere i pixel classificati come 1 (in bianco nella figura) con un intervallo spaziale di 1 o 2 pixel, al fine di eseguire una generalizzazione. Sto usando QGIS, è possibile con gdal o qualcosa del genere?

inserisci qui la descrizione dell'immagine

Risposte:


13

QGIS fornisce un'interfaccia a GRASS GIS, che ha iniziato la sua vita come un GIS raster e quindi dovrebbe fornire alcuni strumenti efficienti per affrontare questo problema. Facendo riferimento alle sue pagine di manuale di comandi raster possiamo trovare le seguenti soluzioni:

r.buffer - buffering diretto dei globuli bianchi.

r.cost - può calcolare le distanze in globuli bianchi. Seguire questo con un confronto per selezionare celle a breve distanza.

r.grow - un'operazione morfologica locale progettata specificamente per espandere i globuli bianchi nei loro vicini immediati.

r.mfilter - un filtro focale generale. Varie statistiche focali, come max, media, somma, mediana e deviazione standard possono rilevare la presenza di globuli bianchi nei quartieri locali. Seguire questo con un confronto per selezionare tali celle.

r.neighbors - un filtro focale ancora più generale, che può essere usato in modo simile a r.mfilter.

r.resample - ricampionare su una griglia più grossolana è un modo per espandere i globuli bianchi. Il risultato sarà in qualche modo "a blocchi".

r.spread - lasciando che i globuli bianchi si "diffondano" nei loro quartieri raggiungeranno il buffering desiderato.

Dovremmo aspettarci che r.buffer, r.grow e forse r.mfilter utilizzino il codice più efficiente. (Non li ho testati per scoprirlo.)


1

Direi che è possibile. Non sono sicuro di poterlo fare con QGIS, dal momento che non lo so abbastanza bene. QGIS può fare statistiche di vicinato? Supponendo che i pixel neri siano zero e i pixel bianchi siano 1, quindi una funzione statistica di quartiere 3x3 che calcola il massimo delle celle comporterà '1' per i pixel adiacenti del bordo bianco. È quindi possibile isolare quei pixel in una seconda procedura (o eseguire le statistiche di vicinato una seconda volta per una seconda riga di pixel).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.