exponenta event banner

bwlabel

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

Описание

пример

L = bwlabel(BW) возвращает матрицу меток L который содержит метки для 8-соединенных объектов, найденных в BW.

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

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

Примеры

свернуть все

Создайте небольшое двоичное изображение.

BW = logical ([1     1     1     0     0     0     0     0
               1     1     1     0     1     1     0     0
               1     1     1     0     1     1     0     0
               1     1     1     0     0     0     1     0
               1     1     1     0     0     0     1     0
               1     1     1     0     0     0     1     0
               1     1     1     0     0     1     1     0
               1     1     1     0     0     0     0     0]);

Создайте матрицу меток с помощью 4-соединенных объектов.

L = bwlabel(BW,4)
L = 8×8

     1     1     1     0     0     0     0     0
     1     1     1     0     2     2     0     0
     1     1     1     0     2     2     0     0
     1     1     1     0     0     0     3     0
     1     1     1     0     0     0     3     0
     1     1     1     0     0     0     3     0
     1     1     1     0     0     3     3     0
     1     1     1     0     0     0     0     0

Используйте find для получения координат строки и столбца объекта с меткой «2».

[r, c] = find(L==2);
rc = [r c]
rc = 4×2

     2     5
     3     5
     2     6
     3     6

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

свернуть все

Двоичное изображение, указанное как 2-D числовая матрица или 2-D логическая матрица. Для числового ввода любые ненулевые пикселы считаются 1 (true).

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

Пиксельная связность, заданная как одно из этих значений.

Стоимость

Значение

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

4-подключенные

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

8-подключенных

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

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

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

свернуть все

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

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

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

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

Совет

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

     Входное измерениеФорма выводаИспользование памятиВозможность соединения
    bwlabel2-DМатрица меток с двойной точностьюВысоко4 или 8
    bwlabelnN-DМатрица меток с двойной точностьюВысокоЛюбой
    bwconncompN-DСтруктура УЛРНизкоЛюбой
  • Вы можете использовать MATLAB ®find функция в сочетании с bwlabel возвращает векторы индексов для пикселов, составляющих конкретный объект. Например, чтобы вернуть координаты для пикселов в объекте 2, введите следующее:.

    [r,c] = find(bwlabel(BW)==2)

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

  • Извлечение элементов из двоичного изображения с помощью regionprops с подключением по умолчанию, просто пройти BW непосредственно в regionprops с помощью команды regionprops(BW).

  • bwlabel функция может использовать преимущества аппаратной оптимизации для типов данных logical, uint8, и single чтобы работать быстрее. Для оптимизации оборудования требуется marker и mask быть 2-D изображениями и conn быть либо 4, либо 8.

Алгоритмы

bwlabel использует общую процедуру, описанную в [1], стр. 40-48:

  1. Длина прогона кодирует входное изображение.

  2. Сканирование прогонов, назначение предварительных меток и запись эквивалентностей меток в локальной таблице эквивалентности.

  3. Разрешите классы эквивалентности.

  4. Выполните повторную метку прогонов на основе разрешенных классов эквивалентности.

Ссылки

[1] Харалик, Роберт М. и Линда Г. Шапиро, Computer and Robot Vision, Volume I, Addison-Wesley, 1992, pp. 28-48.

Расширенные возможности

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