Me gustaría eliminar píxeles aislados (o grupos de píxeles <9) de mi imagen de trama.
library(raster)
# create some raster data
r <- raster(ncols=12, nrows=12)
set.seed(0)
r[] <- round(runif(ncell(r))*0.7 )
rc <- clump(r)
Antes de eliminar grupos de píxeles <9
Después de eliminar grupos de píxeles <9 :
En Erdas, existe la herramienta Sieve para hacer esto, pero ¿cómo reemplazarla en R?
Respuestas:
Tenga en cuenta que desde la
clump
función, la ID de agrupación "4" tenía 2 celdas en el lado derecho conectando con celdas a la izquierda.fuente
Gracias a @gene y https://geoscripting-wur.github.io/AdvancedRasterAnalysis/ ahora puedo responder a mi pregunta (copiada y modificada):
biblioteca (ráster)
y resultado deseado (con una fila y una columna de NA agregadas a cada lado del ráster).
fuente
Una respuesta adicional para los datos proyectados.
bfastSpatial::areaSieve()
toma un argumento de umbral, de modo que se eliminan los grupos más pequeños que el umbral.https://www.rdocumentation.org/packages/bfastSpatial/versions/0.6.2/topics/areaSieve
fuente