у меня есть большой массив numpy
, к которому я применил фильтр. Я хотел бы выделить смежные области в этом замаскированном массиве. Здесь я определяю область как смежную, если для любого индекса (x1, y1)
к любому другому индексу (x2, y2)
они принадлежат той же области, если там представляет собой путь Истинных
значений вдоль равных целочисленных шагов по осям (диагонали - допустимые шаги).
Это может быть не так ясно, как простая картина. Учитывая маску:
0010000
0100000
0110000
0000011
1000010
Должны быть идентифицированы три региона, чтобы результат был примерно таким, как
[ [[0,2],[1,1],[2,1],[2,2]], [[3,5],[3,6],[4,5]], [[4,0]] ]
Я бы хотел использовать что-то встроенное в numpy
, не прибегая к написанию моего собственного Flood Алгоритм заполнения . Небольшое исследование документации дало только 1D версию того, о чем я прошу.