Кластеризация связанных квадратов в MATLAB


person Iman    schedule 20.07.2015    source источник
comment
Используйте 1_. Он будет использовать области с 8-ю связями, поэтому, если вы введете эту маску, она вернет 3 области. Вы также можете указать нужные свойства (например, 'Area', 'BoundingBox', 'Centroid' и т. д.).   -  person Justin    schedule 20.07.2015


Ответы (1)


Вы можете использовать маркировку подключенных компонентов.

В Matlab, предполагая, что ваша матрица содержит только 0 и 1 (или вы можете сделать так), вы должны использовать bwlabel.

L = bwlabel(data, 8)

Теперь L будет матрицей того же размера, что и data, с метками 1, 2, 3... вместо единиц.

8 в качестве второго параметра обозначает связность компонентов. 4-connected будет означать, что один квадрат соединен с другим, только если он находится слева, справа, над или под квадратом. 8-connected означает, что квадраты также соединены, если они расположены рядом по диагонали, как в правом нижнем углу вашего образца. 8 используется по умолчанию, и вы можете его не указывать, но вы должны знать об этом различии на тот случай, если вам понадобится, чтобы оно вело себя по-другому в будущем.

person beaker    schedule 20.07.2015