Tengo una gran matriz numpy
sobre la que he aplicado un filtro. Me gustaría identificar las regiones contiguas en esta matriz enmascarada. Aquí estoy definiendo una región contigua si, para cualquier índice (x1,y1)
a cualquier otro índice (x2,y2)
, pertenecen a la misma región si hay una ruta de True
valores a lo largo de pasos enteros iguales a lo largo de los ejes (las diagonales son pasos válidos).Identificar regiones contiguas en la matriz numpy 2D
Eso puede no ser tan claro como una imagen simple. Dada la máscara:
0010000
0100000
0110000
0000011
1000010
Debe haber tres regiones identificadas tal que la salida es algo así como
[ [[0,2],[1,1],[2,1],[2,2]], [[3,5],[3,6],[4,5]], [[4,0]] ]
me gustaría usar algo integrado en numpy
, sin recurrir a escribir mi propio algoritmo Flood Fill . Un poco de investigación en los documentos solo apareció un 1D version de lo que estoy pidiendo.