labelmatrix

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

Синтаксис

Описание

Матрица меток помечает объекты или связанные компоненты в бинарное изображение с уникальными значениями целого числа. Используйте матрицу меток, чтобы визуализировать отдельные объекты или связанные компоненты.

пример

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

Примеры

свернуть все

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

BW = imread('text.png');
imshow(BW)

Figure contains an axes. The axes contains an object of type image.

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

CC = bwconncomp(BW);

Создайте матрицу меток с помощью labelmatrix. Каждая метка имеет уникальный числовой индекс.

L = labelmatrix(CC);

Найдите максимальное значение матрицы меток. Это значение указывает количество обнаруженных объектов, в этом случае 88.

numObjects = max(L(:))
numObjects = uint8
    88

Отобразите матрицу меток как изображение. Потому что максимальное значение метки намного меньше максимального значения uint8 тип данных, увеличьте область значений отображения изображения, чтобы сделать метки более различимыми.

imshow(L,[])

Figure contains an axes. The axes contains an object of type image.

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

imshow(label2rgb(L,'jet','k','shuffle'));

Figure contains an axes. The axes contains an object of type image.

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

свернуть все

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

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

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

свернуть все

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

Размер L определяется значением CC.ImageSize поле. Класс L зависит от количества смежных регионов. labelmatrix использует наименьший класс, который может представлять количество объектов, 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