exponenta event banner

insertObjectMask

Вставка масок в изображение или видеопоток

    Описание

    пример

    RGB = insertObjectMask(I,BW) вставляет маску BW в указанное изображение I и возвращает результат в виде цветного изображения RGB.

    пример

    RGB = insertObjectMask(I,maskstack) вставляет набор масок maskstack в указанное изображение I и возвращает результат в виде цветного изображения RGB.

    RGB = insertObjectMask(___,Name,Value) указывает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущих синтаксисах.

    Примеры

    свернуть все

    Чтение изображения в рабочую область.

    I = imread('visionteam1.jpg');

    Загрузите стек двоичных масок.

    load('visionteam1Maskstack.mat')

    Вставьте маски в изображение.

    RGB = insertObjectMask(I,maskstack,'LineColor','white','LineWidth',2);

    Отображение изображения с вставленными масками.

    figure
    imshow(RGB)

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

    Чтение изображения в рабочую область.

    I = imread('visionteam1.jpg');

    Загрузка стека двоичных масок.

    load('visionteam1Maskstack.mat');

    Вставьте маски в изображение, указав уникальный цвет для каждой маски.

    numMasks = size(maskstack,3);
    RGB = insertObjectMask(I,maskstack,'Color',lines(numMasks));

    Отображение изображения со вставленными масками.

    figure 
    imshow(RGB)

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

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

    свернуть все

    Входное изображение, указанное как изображение типа truecolor (RGB), массив m-by-n-by-3 или изображение в оттенках серого, массив m-by-n.

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

    Входное изображение маски, заданное как логическая матрица m-на-n.

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

    Стек изображений масок, заданный как логический массив m-by-n-by-P, где P - общее количество масок в стеке.

    maskstack имеет ту же ширину и высоту, что и I.

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

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

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

    Пример: RGB = insertObjectMask(I,maskstack, 'LineColor','white','LineWidth',2);

    Цвет каждой маски, указанной как разделенная запятыми пара, состоящая из 'Color' и одно из этих значений:

    • P-by-3 матрица триплетов RGB, где P - общее количество масок

    • Вектор P-элемента имен MATLAB ® ColorSpec

    • 1-на-3 RGB триплет или скалярное имя MATLAB ColorSpec, указывающее цвет для всех масок

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

    Непрозрачность маски, определяемая как разделенная запятыми пара, состоящая из 'Opacity' и скалярное значение в диапазоне [0 1]. Стоимость 1 делает маску полностью непрозрачной и значение 0 делает маску полностью прозрачной.

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

    Цвет границ маски, определяемый как разделенная запятыми пара, состоящая из 'LineColor' и одно из этих значений:

    • 'auto''LineColor' использует то же значение или значения, что и 'Color'.

    • P-by-3 матрица триплетов RGB, где P - общее количество масок

    • Вектор P-элемента имен MATLAB ColorSpec

    • 1-на-3 RGB триплет или скалярное имя MATLAB ColorSpec, указывающее цвет для всех масок

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

    Непрозрачность границ маски, определяемая как разделенная запятыми пара, состоящая из 'LineOpacity' и скалярное значение в диапазоне [0 1].

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

    Ширина границ маски, определяемая как разделенная запятыми пара, состоящая из 'LineWidth' и положительный скаляр. Определить 'LineWidth' в единицах пикселей.

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

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

    свернуть все

    Выходное изображение, возвращаемое в виде цветного изображения класса uint8, с теми же размерами m-by-n, что и I.

    Совет

    • Когда маски перекрываются и один и тот же пиксель находится в нескольких масках, maskstack(:,:,i) имеет приоритет над maskstack(:,:,j), где i < j.

    • Для повышения производительности установите 'LineOpacity' кому 0 для отключения рисования кромок.

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

    .
    Представлен в R2020b