label2rgb

Преобразуйте матрицу меток в изображение RGB

Описание

пример

RGB = label2rgb(L) преобразует изображение метки, L в цветное изображение RGB с целью визуализации маркированных областей. The label2rgb функция определяет цвет для назначения каждому объекту на основе количества объектов в матрице меток. The label2rgb функция выбирает цвета из всей области значений цветовой карты.

RGB = label2rgb(L,cmap) задает палитру cmap для использования в изображении RGB.

RGB = label2rgb(L,cmap,zerocolor) задает цвет RGB элементов фона (маркированные пиксели 0).

RGB = label2rgb(L,cmap,zerocolor,order) управляет тем, как label2rgb присваивает цвета областям в матрице меток.

RGB = label2rgb(___,'OutputFormat',outputFormat) позволяет указать, что функция возвращает список уникальных цветов вместо изображения RGB.

Примеры

свернуть все

Прочитайте изображение и отобразите его.

I = imread('rice.png'); 
imshow(I)

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

Создайте матрицу меток из изображения.

BW = imbinarize(I); 
CC = bwconncomp(BW);
L = labelmatrix(CC);

Преобразуйте матрицу меток в изображение RGB с помощью настроек по умолчанию.

RGB = label2rgb(L);
figure
imshow(RGB)

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

Преобразуйте матрицу меток в изображение RGB, задавая дополнительные параметры. Этот пример использует 'spring' палитра, устанавливает пиксели фона на голубой цвет и рандомизирует назначение цветов меткам.

RGB2 = label2rgb(L,'spring','c','shuffle'); 
figure
imshow(RGB2)

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

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

свернуть все

Пометьте изображение смежных областей как одно из следующего.

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

  • Категориальная матрица.

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

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

Значение

Описание
c -by-3 матрица типа данных double

Матрица карты цвета, задающая c цвета, каждый в виде тройки RGB. c должны быть больше или равны количеству меток, numlabels, в матрице меток L. Количество меток можно вычислить следующим numlabels = max(L(:)).

Если c больше numlabels, то label2rgb создает RGB изображение, использующее только первые numlabels строки в матрице.

функция палитры

Имя MATLAB® функция палитры, например 'jet' или 'gray'. Посмотрите colormap для получения списка поддерживаемых палитр.

указатель на палитру

Указатель на функцию палитры, например @jet или @gray.

Заливка цвета, заданная как 3-элементный вектор, представляющий тройку RGB или одну из следующих сокращений цвета для числовых изображений меток. label2rgb применяет цвет заливки к метке 0 для числовых изображений меток или <undefined> меток для категориальных изображений меток.

Значение

Цвет

'b'Синий
'c'Голубой
'g' Зеленый
'k'Черный
'm'Пурпурный
'r'Красный
'w'Белый
'y'Желтый

Порядок цвета, заданный как 'noshuffle' или 'shuffle'. The 'noshuffle' order упорядочивает цвета палитры, чтобы пометить матричные области в числовом порядке. The 'shuffle' порядок присваивает цветам палитры псевдослучайно.

Выход данных RGB, возвращенных в RGB, указанный как одно из следующего.

  • 'image' - Возврат изображения RGB. Если размер входа меток L является M-by- N, затем размер выходного изображения RGB M-by- N-by-3.

  • 'triplets' - Возвращает список цветов RGB. Размер выхода равен C-by-3 матрица, содержащая триплет RGB для каждого из C метки в матрице входных меток.

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

свернуть все

Данные RGB, возвращенные как числовая матрица.

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

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

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