Маркируйте соединенные компоненты в двухуровневом изображении
L = bwlabeln(BW)L = bwlabeln(BW,conn)[L,n] = bwlabeln(___)Функции bwlabel, bwlabeln и bwconncomp все вычисляют соединенные компоненты для двухуровневых изображений. bwconncomp заменяет использование bwlabel и bwlabeln. Это использует значительно меньше памяти и иногда быстрее, чем другие функции.
| Функция | Введите размерность | 'OutputForm' | Использование памяти | Возможность соединения |
|---|---|---|---|---|
bwlabel | 2D | Матрица метки с с двойной точностью | Высоко | 4 или 8 |
bwlabeln | N-D | Матрица метки с двойной точностью | Высоко | Любой |
bwconncomp | N-D | Struct CC | Низко | Любой |
Чтобы извлечь функции из двухуровневого изображения с помощью regionprops с возможностью соединения по умолчанию, только передайте BW непосредственно в regionprops, т.е. regionprops(BW).
Чтобы вычислить матрицу метки, имеющую более эффективный памятью тип данных (например, uint8 по сравнению с double), используют функцию labelmatrix на выводе bwconncomp:
C = bwconncomp(BW); L = labelmatrix(CC); CC = bwconncomp(BW,n); S = regionprops(CC);
bwlabeln использует выполняющую общую процедуру:
Отсканируйте все пиксели изображения, присвоив предварительные метки ненулевым пикселям и записав эквивалентности метки в таблице находки объединение.
Разрешите классы эквивалентности с помощью алгоритма находки объединение [1].
Повторно маркируйте пиксели на основе разрешенных классов эквивалентности.
[1] Sedgewick, Роберт, Алгоритмы в C, 3-м Эде., Аддисон-Уэсли, 1998, стр 11-20.
bwconncomp | bwlabel | label2rgb | labelmatrix | regionprops