insertShape

Вставьте фигуры в изображение или видео

Описание

пример

RGB = insertShape(I,shape,position) возвращает изображение истинного цвета с shape вставленный. Входное изображение, I, может быть или истинный цвет или полутоновое изображение. Вы чертите формы путем перезаписи пиксельных значений.

пример

RGB = insertShape(___,Name,Value) дополнительные опции использования заданы одним или несколькими Name,Value парные аргументы.

Примеры

свернуть все

Чтение изображения.

I = imread('peppers.png');

Нарисуйте круг с шириной границы 5.

RGB = insertShape(I,'circle',[150 280 35],'LineWidth',5);

Чертите заполненный треугольник и заполненный шестиугольник.

pos_triangle = [183 297 302 250 316 297];
pos_hexagon = [340 163 305 186 303 257 334 294 362 255 361 191];
RGB = insertShape(RGB,'FilledPolygon',{pos_triangle,pos_hexagon},...
    'Color', {'white','green'},'Opacity',0.7);

Отобразите изображение.

imshow(RGB);

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

свернуть все

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

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

Тип формы, заданной как вектор символов. Вектор может быть, 'Rectangle', 'FilledRectangle'строка, 'Polygon', 'FilledPolygon', 'Circle', или 'FilledCircle'.

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

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

ФормаПоложениеФорма чертится
'Rectangle'
'FilledRectangle'
M-by-4 матрица, где каждая строка задает прямоугольник как [xywidthheight].

[x1y1width1height1x2y2width2height2xMyMwidthMheightM]

'Line'

Для одной или нескольких разъединенных линий, M-by-4 матрица, где каждый четырехэлементный вектор [x 1, y 1, x 2, y 2], описывает линию с конечными точками, [x 1 y 1] и [x 2 y 2].

Для одного или нескольких линейных сегментов, M-by-2L матрица, где каждая строка является вектором, представляющим ломаную линию с количеством L вершин.

[x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

.

Ломаная линия всегда содержит (L-1) количество сегментов, потому что первые и последние точки вершины не соединяются. Для линий с меньшим количеством сегментов повторите конечные координаты, чтобы заполнить матрицу.

Можно также задать формы как массив ячеек векторов M .

{[x 11, y 11, x 12, y 12..., x 1 пункт, y 1 пункт], [x 21, y 21, x 22, y 22....., x 2q, y 2q]... [x M1, y M1, x M2, y M2......., x г-н, y г-н]}

p, q и r задают количество вершин.

'Polygon'
'FilledPolygon'
M-by-2L матрица, где каждая строка представляет многоугольник с количеством L вершин. Каждая строка матрицы соответствует многоугольнику. Для многоугольников с меньшим количеством сегментов повторите конечные координаты, чтобы заполнить матрицу.

[x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

Можно также задать формы как массив ячеек векторов M :

{[x 11, y 11, x 12, y 12..., x 1 пункт, y 1 пункт], [x 21, y 21, x 22, y 22....., x 2q, y 2q]... [x M1, y M1, x M2, y M2......., x г-н, y г-н]}

p, q и r задают количество вершин.

'Circle'
'FilledCircle'
M-by-3 матрица, где каждая строка является вектором, задающим круг как [xyradius]. [xy] координаты представляют центр круга.

[x1y1radius1x2y2radius2xMyMradiusM]

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

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

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

Пример: 'Color', 'yellow' задает желтый для цвета формы.

Сформируйте ширину границы, заданную в пикселях, как положительное скалярное целое число. Это свойство только применяется к 'Rectangle'строка, 'Polygon', или 'Circle' формы.

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

Цвет формы, заданный как разделенная запятой пара, состоящая из 'Color'и или вектор символов, массив ячеек вектора символов или матрица. Можно задать различный цвет для каждой формы или один цвет для всех форм.

Чтобы задать цвет для каждой формы, установите Color к массиву ячеек цветных векторов символов или M-by-3 матрица количества M RGB (красный, зеленый, и синий) значения цвета.

Чтобы задать один цвет для всех форм, установите Color или к цветному вектору символов или к [R G B] вектор. [R G B] вектор содержит красные, зеленые, и синие значения.

Поддерживаемые цвета: 'blue', 'green', 'red'ГолубойПурпурный, 'black', 'black', и 'white'.

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

Непрозрачность заполненной формы, заданной как разделенная запятой пара, состоящая из 'Opacity'и скалярное значение в области значений [0 1]. Opacity свойство запрашивает FilledRectangle, FilledPolygon, и FilledCircle формы.

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

Сглаженные ребра формы, заданные как разделенная запятой пара, состоящая из 'SmoothEdges'и логическое значение true или false. true значение позволяет фильтру сглаживания сглаживать ребра формы. Это значение применяется только к непрямоугольным формам. Включение сглаживания требует, чтобы дополнительное время чертило формы.

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

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

свернуть все

Выходное изображение, возвращенное как изображение истинного цвета.

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

Введенный в R2014a