labeloverlay

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

Синтаксис

B = labeloverlay(A,L)
B = labeloverlay(A,BW)
B = labeloverlay(A,C)
B = labeloverlay(___,Name,Value)

Описание

пример

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

пример

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

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

пример

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

Примеры

свернуть все

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

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

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

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

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

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

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

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

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

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

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

A = imread('coins.png');
t = graythresh(A);
BW = imbinarize(A,t);

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

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

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

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

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

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

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

свернуть все

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

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

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

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

Маска, заданная как логическая матрица.

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

Подписи категорий, заданные как матрица categorical.

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

Аргументы в виде пар имя-значение

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

Пример: labeloverlay(myImage,myLabels,'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' и одно из следующего:

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

| |

Введенный в R2017b