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 для 2D изображений и 26 для 3-D изображений.

Значение

Значение

Двумерные возможности соединения

4

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

8

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

3D возможности соединения

6

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

  • Одно из этих направлений: в, левый, правильный, и вниз

18

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

  • Одно из этих направлений: в, левый, правильный, и вниз

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

26

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

  • Одно из этих направлений: в, левый, правильный, и вниз

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

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

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

Возможность соединения может также быть задана более общим способом к любой размерности путем определения 3-by-3-by-... Матрица-by-3 0s и 1s. 1- ценные элементы задают местоположения окружения относительно центрального элемента conn. Обратите внимание на то, что conn должно быть симметричным о его центральном элементе. Смотрите Задающие Пользовательские Возможности соединения для получения дополнительной информации.

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

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

свернуть все

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

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

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

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

Советы

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

    ФункцияВведите размерность'OutputForm' Использование памятиВозможность соединения
    bwlabel2DМатрица метки с с двойной точностьюВысоко4 или 8
    bwlabelnN-DМатрица метки с двойной точностьюВысокоЛюбой
    bwconncompN-DCC struct ()НизкоЛюбой
  • Извлекать функции из использования бинарного изображения regionprops с возможностью соединения по умолчанию только передайте BW непосредственно в regionprops использование команды regionprops(BW).

Алгоритмы

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

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

  2. Разрешите классы эквивалентности с помощью алгоритма находки объединение [1].

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

Ссылки

[1] Sedgewick, Роберт, Алгоритмы в C, 3-м Эде., Аддисон-Уэсли, 1998, стр 11-20.

Смотрите также

| | | |

Представлено до R2006a