labelmatrix

Создайте матрицу метки из структуры bwconncomp

Синтаксис

L = labelmatrix(CC)

Описание

пример

L = labelmatrix(CC) создает матрицу метки, L, от связанной структуры компонентов CC, возвращенный bwconncomp.

labelmatrix является большей памятью, эффективной, чем bwlabel и bwlabeln, потому что это возвращает свою матрицу метки в самом маленьком числовом классе, необходимом для количества объектов.

Примеры

свернуть все

Считайте двухуровневое изображение в рабочую область.

BW = imread('text.png');

Вычислите связанные компоненты, с помощью bwconncomp.

CC = bwconncomp(BW);

Создайте матрицу метки, с помощью labelmatrix.

L = labelmatrix(CC);

Для сравнения создайте вторую матрицу метки, с помощью bwlabel.

L2 = bwlabel(BW);

Просмотрите обе матрицы метки в рабочей области. Обратите внимание на то, что labelmatrix является большей памятью, эффективной, чем bwlabel, с помощью самого маленького числового класса, необходимого для количества объектов.

whos L L2
  Name        Size              Bytes  Class     Attributes

  L         256x256             65536  uint8               
  L2        256x256            524288  double              

Отобразите матрицу метки как изображение RGB, с помощью label2rgb.

figure
imshow(label2rgb(L));

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

свернуть все

Связанные компоненты, заданные как структура с четырьмя полями.

Поле Описание
ConnectivityВозможность соединения связанных компонентов (объекты)
ImageSizeРазмер двухуровневого изображения
NumObjectsКоличество связанных компонентов (объекты) в двухуровневом изображении.
PixelIdxList1 NumObjects массивом ячеек, где k-й элемент в массиве ячеек является вектором, содержащим линейные индексы пикселей в объекте k-th.

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

свернуть все

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

Размером L является CC.ImageSize. Класс L зависит от CC.NumObjects, как показано в таблице.

КлассОбласть значений
'uint8'

CC.NumObjects 255

'uint16'

256 CC.NumObjects 65535

'uint32'

65536 CC.NumObjects 2321

'double'

CC.NumObjects 232

Типы данных: double | uint8 | uint16 | uint32

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

| | | |

Представленный в R2009a