exponenta event banner

insertShape

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

Описание

пример

RGB = insertShape(I,shape,position) возвращает изображение truecolor с 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);

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

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

свернуть все

Входное изображение, определенное в truecolor или 2-х оттенках серого.

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

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

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

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

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

[x1y1width1height1x2y2width2height2  xMyMwidthMheightM]

Два прямоугольника, M = 2

'Line'

'Polygon'

'FilledPolygon'

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

[x11y11x12y12x21y21x22y22  xM1yM1xM2xM2]

Полилиния всегда содержит (L-1) число сегментов, поскольку первая и последняя точки вершины не соединены.

Две линии, M = 2

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

[x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2L  xM1yM1xM2yM2xMLyML]

Два многоугольника с равным числом вершин, M = 2, L = 5

Для одной или нескольких полилиний или многоугольников с неравным числом вершин укажите массив M-by-1 ячеек, где каждая ячейка содержит L-by-2 матрицу из [x, y] вершин или вектор 1-by-2L [x1 y1 x2 y2... xL yL] последовательных расположений вершин.

Значение L может быть различным для каждого элемента ячейки. Например,

{[x1 y1 x2 y2], [x1 y1 x2 y2 x3 y3]}

Два многоугольника с неравным числом вершин, M = two polygons, one with 5 vertices and one with 4 vertices2

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

[x1y1radius1x2y2radius2⋮⋮⋮xMyMradiusM]

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

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

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

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

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

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

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

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

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

Поддерживаемые цвета: 'blue', 'green', 'red', 'cyan', 'magenta', '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. A true значение позволяет сглаживать кромки формы фильтром сглаживания. Это значение применяется только к непрямоугольным фигурам. Включение сглаживания требует дополнительного времени для рисования фигур.

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

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

свернуть все

Выходное изображение, возвращаемое в виде изображения с трюкэколором.

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

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