Generalización de ráster: búferes en rásteres, ¿expandir píxeles?


12

¿Es posible crear buffers para píxeles de archivos ráster? En realidad, necesito expandir los píxeles clasificados como 1 (en blanco en la figura) con un rango espacial de 1 o 2 píxeles, para realizar una generalización. Estoy usando QGIS, ¿es esto posible con gdal o algo así?

ingrese la descripción de la imagen aquí

Respuestas:


13

QGIS proporciona una interfaz para GRASS GIS, que comenzó su vida como un SIG ráster y, por lo tanto, debería proporcionar algunas herramientas eficientes para abordar este problema. Refiriéndonos a sus páginas manuales de comandos raster podemos encontrar las siguientes soluciones:

r.buffer - buffering directo de glóbulos blancos.

r.cost : puede calcular distancias a las células blancas. Siga esto con una comparación para seleccionar celdas de corta distancia.

r.grow : una operación morfológica local diseñada específicamente para expandir los glóbulos blancos en sus vecinos inmediatos.

r.mfilter : un filtro focal general. Diversas estadísticas focales, como max, media, suma, mediana y desviación estándar pueden detectar la presencia de glóbulos blancos en los vecindarios locales. Siga esto con una comparación para seleccionar tales celdas.

r.neighbours : un filtro focal aún más general, que se puede usar de manera similar a r.mfilter.

r.resample : volver a muestrear en una cuadrícula más gruesa es una forma de expandir las celdas blancas. El resultado será algo "en bloque".

r.spread : permitir que las células blancas se "propaguen" en sus vecindarios logrará el buffering deseado.

Deberíamos esperar que r.buffer, r.grow y quizás r.mfilter utilicen el código más eficiente. (No he probado estos para averiguarlo).


1

Yo diría que es posible. No estoy seguro si puedes hacerlo con QGIS, ya que no lo sé lo suficientemente bien. ¿Puede QGIS hacer estadísticas de vecindad? Suponiendo que los píxeles negros son cero y los píxeles blancos son 1, entonces una función estadística de vecindad 3x3 que calcula el máximo de las celdas dará como resultado '1' para los píxeles adyacentes del borde blanco. Luego puede aislar esos píxeles en un segundo procedimiento (o ejecutar estadísticas de vecindario por segunda vez para una segunda fila de píxeles).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.