Маркируйте соединенные компоненты в двухуровневом изображении
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