bwlabeln

Пометьте связанные компоненты в бинарном изображении

Описание

пример

L = bwlabeln(BW) возвращает матрицу меток, L, содержащие метки для связанных компонентов в BW.

L = bwlabeln(BW,conn) возвращает матрицу меток, где conn задает возможность подключения.

[L,n] = bwlabeln(___) также возвращается n, количество связанных объектов, найденных в BW.

Примеры

свернуть все

Создайте простую выборку 3-D бинарного изображения.

BW = cat(3, [1 1 0; 0 0 0; 1 0 0],...
            [0 1 0; 0 0 0; 0 1 0],...
            [0 1 1; 0 0 0; 0 0 1])
BW = 
BW(:,:,1) =

     1     1     0
     0     0     0
     1     0     0


BW(:,:,2) =

     0     1     0
     0     0     0
     0     1     0


BW(:,:,3) =

     0     1     1
     0     0     0
     0     0     1

Пометьте подключенные компоненты в изображении.

bwlabeln(BW)
ans = 
ans(:,:,1) =

     1     1     0
     0     0     0
     2     0     0


ans(:,:,2) =

     0     1     0
     0     0     0
     0     2     0


ans(:,:,3) =

     0     1     1
     0     0     0
     0     0     2

Входные параметры

свернуть все

Бинарное изображение, заданное как число или логический массив любой размерности. Для числового входа любые ненулевые пиксели рассматриваются как on.

Пример: BW = imread('text.png');

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Пиксельная связность, заданная как одно из значений в этой таблице. Связность по умолчанию 8 для 2-D изображений и 26 для 3-D изображений.

Значение

Значение

Двумерные связи

4-соединенный

Пиксели соединяются, если их ребра касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в горизонтальном или вертикальном направлении.

8-соединенный

Пиксели соединяются, если их ребра или углы касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в горизонтальном, вертикальном или диагональном направлении.

Трехмерные связи

6-соединенный

Пиксели соединяются, если их лица касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в:

  • Одно из следующих направлений: в, вне, слева, справа, вверх и вниз

18-соединенный

Пиксели соединяются, если их грани или ребра касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в

  • Одно из следующих направлений: в, вне, слева, справа, вверх и вниз

  • Комбинация двух направлений, таких как right-down или in-up

26-соединенный

Пиксели соединяются, если их грани, ребра или углы касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в

  • Одно из следующих направлений: в, вне, слева, справа, вверх и вниз

  • Комбинация двух направлений, таких как right-down или in-up

  • Комбинация трех направлений, таких как справа вверх или слева вниз

Для более высоких размерностей, bwlabeln использует значение по умолчанию conndef(ndims (BW), 'maximal').

Связь также может быть определена более общим образом для любой размерности путем определения 3х3-бай-... -by-3 матрица 0s и 1с. The 1-значенные элементы определяют местоположения окрестностей относительно центрального элемента conn. Обратите внимание, что conn должно быть симметричным относительно его центрального элемента. Дополнительные сведения см. в разделе «Определение пользовательских соединений».

Типы данных: double | logical

Выходные аргументы

свернуть все

Матрица меток, возвращенная как массив неотрицательных целых чисел с таким же размером, как BW. Пиксели, отмеченные 0 являются фоном. Пиксели, отмеченные 1 составляют один объект; пиксели, отмеченные 2 составляют второй объект; и так далее.

Типы данных: double

Количество связанных объектов в BW, возвращается как неотрицательное целое число.

Типы данных: double

Совет

  • Функции bwlabel, bwlabeln, и bwconncomp все вычисляют подключенные компоненты для бинарных изображений. bwconncomp заменяет использование bwlabel и bwlabeln. Он использует значительно меньше памяти и иногда быстрее, чем другие функции.

    ФункцияВходная размерностьВыходИспользование памятиВозможность соединения
    bwlabel2-DМаркируйте матрицу с двойной точностьюВысоко4 или 8
    bwlabelnН-ДМатрица меток двойной точностиВысокоЛюбой
    bwconncompН-ДCC structНизкоЛюбой
  • Чтобы извлечь функции из бинарного изображения, используя regionprops с связностью по умолчанию, просто пройдите BW непосредственно в regionprops использование команды regionprops(BW).

Алгоритмы

bwlabeln использует следующую общую процедуру:

  1. Сканирование всех пикселей изображения, назначение предварительных меток ненулевым пикселям и запись эквивалентности метки в таблицу поиска объединения.

  2. Разрешите классы эквивалентности с помощью алгоритма union-find [1].

  3. Перемаркируйте пиксели на основе разрешенных классов эквивалентности.

Ссылки

[1] Sedgewick, Robert, Algorithms in C, 3rd Ed., Addison-Wesley, 1998, pp. 11-20.

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте