labeloverlay

Наложите матричные области метки на 2D изображении

Описание

пример

B = labeloverlay(A,L) плавит входное изображение, A, с различным цветом для каждой ненулевой метки в матрице метки L. labeloverlay функция не плавит фоновые пиксели с цветом.

пример

B = labeloverlay(A,BW) плавит входное изображение с цветом где маска BW true. labeloverlay функция не соединяется, фоновые пиксели (пометил false ) с цветом.

B = labeloverlay(A,C) плавит входное изображение с различным цветом для каждой метки в категориальном матричном C. labeloverlay функция не плавит пиксели <undefined> категория с цветом.

пример

B = labeloverlay(___,Name,Value) вычисляет сплавленное изображение наложения, B, использование Name,Value пары, чтобы управлять аспектами расчета.

Примеры

свернуть все

Считайте изображение, затем сегментируйте его с помощью superpixels функция.

A = imread('kobi.png');
[L,N] = superpixels(A,20);

Плавьте результаты сегментации с оригинальным изображением. Отобразите сплавленное изображение.

B = labeloverlay(A,L);
imshow(B)

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

Считайте полутоновое изображение и отобразите его.

A = imread('coins.png');
imshow(A)

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

Создайте маску с помощью бинарной пороговой обработки.

t = graythresh(A);
BW = imbinarize(A,t);
imshow(BW)

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

Плавьте маску с оригинальным изображением. Отобразите сплавленное изображение.

B = labeloverlay(A,BW);
imshow(B)

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

Считайте полутоновое изображение.

A = imread('coins.png');

Создайте маску с помощью бинарной пороговой обработки.

BW = imbinarize(A);

Создайте категориальные метки на основе содержимых изображения.

stringArray = repmat("table",size(BW));
stringArray(BW) = "coin";
categoricalSegmentation = categorical(stringArray);

Плавьте категориальные метки с оригинальным изображением. Отобразите сплавленное изображение.

B = labeloverlay(A,categoricalSegmentation);
imshow(B)

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

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

figure
C = labeloverlay(A,categoricalSegmentation,'IncludedLabels',"coin", ...
    'Colormap','autumn','Transparency',0.25);
imshow(C)

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

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

свернуть все

Введите изображение в виде 2D полутонового или цветного изображения.

Типы данных: single | double | int8 | int16 | uint8 | uint16

Метки в виде матрицы неотрицательных целых чисел.

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

Маска в виде логической матрицы.

Типы данных: логический

Подписи категорий в виде a categorical матрица.

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Colormap','hot' отображения помечают в цветах от 'hot' палитра.

Палитра в виде разделенной запятой пары, состоящей из 'Colormap' и одно из этих значений:

  • l-by-3 палитра. Триплеты RGB в каждой строке палитры должны быть нормированы к области значений [0, 1]. l является количеством меток в матрице метки L, бинарная маска BW, или категориальный матричный C.

  • Строка или вектор символов, соответствующий одним из допустимых входных параметров к colormap функция. labeloverlay переставляет заданную палитру так, чтобы смежные метки были более отличными.

Пример: [0.2, 0.1, 0.5; 0.1, 0.5, 0.8]

Пример: 'hot'

Типы данных: single | double | char | string

Метки, чтобы отобразиться в сплавленном изображении в виде разделенной запятой пары, состоящей из 'IncludedLabels' и одно из следующего:

  • Целое число или вектор из целых чисел, в области значений [0, max(L(:))]. По умолчанию, labeloverlay отображения все ненулевые метки.

  • Строка или вектор из строк, соответствуя меткам в категориальном матричном C. По умолчанию, labeloverlay отображения все заданные категориальные метки.

Любая метка, не включенная в вектор, рассматривается фоном. Например, в векторном [1,3,4], значение 2 было бы рассмотрено фоном, если бы это существовало как метка.

Пример: [1,3,4]

Пример: ["flower","stem"]

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

Прозрачность отображенных меток в виде разделенной запятой пары, состоящей из 'Transparency' и номер в области значений [0, 1].

  • Значение 0 делает цветные метки абсолютно непрозрачными.

  • Значение 1 делает цветные метки абсолютно прозрачными.

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

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

свернуть все

Сплавленное изображение, возвращенное как числовая матрица одного размера с A.

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

Введенный в R2017b