Ho un grande array numpy
su cui ho applicato un filtro. Mi piacerebbe identificare le regioni contigue in questo array mascherato. Qui sto definendo una regione contigua se, per qualsiasi indice (x1,y1)
in qualsiasi altro indice (x2,y2)
, appartengono alla stessa regione se esiste un percorso di valori True
lungo passi interi uguali lungo gli assi (le diagonali sono passaggi validi).Identificare le regioni contigue nell'array numpy 2D
Potrebbe non essere chiaro come una semplice immagine. Data la maschera:
0010000
0100000
0110000
0000011
1000010
ci dovrebbero essere tre regioni identificate in modo tale che l'uscita è qualcosa di simile
[ [[0,2],[1,1],[2,1],[2,2]], [[3,5],[3,6],[4,5]], [[4,0]] ]
Mi piacerebbe usare qualcosa di costruito in numpy
, senza ricorrere a scrivere il mio algoritmo Flood Fill . Un po 'di ricerca nei documenti ha trovato solo un 1D version di quello che sto chiedendo.