Отобразите формы на изображении, видео или облаке точек
showShape(___,
задает опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 'Name,Value
)Color'
, 'yellow
'задает цвет отображенных форм как желтый.
Считайте изображение в рабочую область.
I = imread('visionteam1.jpg');
Создайте детектор людей совокупных функций канала (ACF).
detector = peopleDetectorACF()
detector = acfObjectDetector with properties: ModelName: 'inria-100x41' ObjectTrainingSize: [100 41] NumWeakLearners: 2048
Обнаружьте людей в изображении.
[bboxes,scores] = detect(detector,I);
Отобразите изображение с помеченным прямоугольником, включая связанный счет обнаружения, вокруг каждого обнаруженного человека.
figure imshow(I) labels = "person:"+scores; showShape('rectangle',bboxes,'Label',labels)
Считайте данные об облаке точек в рабочую область.
ptCloud = pcread('teapot.ply');
Отобразите данные об облаке точек.
figure pcshow(ptCloud) xlabel('X') ylabel('Y') zlabel('Z')
Задайте кубоид и отобразите его в зеленом с непрозрачностью 0.5
.
pos = [0.3753 0 1.65 6 4 3 0 0 0]; showShape('cuboid',pos,'Color','green','Opacity',0.5)
Считайте данные об облаке точек в рабочую область.
ptCloud = pcread('teapot.ply');
Задайте вращение матричное и 3-D преобразование, чтобы вращать облако точек и связанный кубоид, 5 градусами.
rot = 5; R = [ cosd(rot) sind(rot) 0 0; ... -sind(rot) cosd(rot) 0 0; ... 0 0 1 0; ... 0 0 0 1]; tform = affine3d(R);
Вычислите представленные пределы X и Y облака точек, чтобы гарантировать, что облако точек не отсекается во время вращения.
pcLimits = abs([ptCloud.XLimits ptCloud.YLimits]); maxLimit = max(pcLimits);
Добавьте дополнительную маржу в график препятствовать тому, чтобы кубоид был отсечен во время вращения.
margin = 1; maxLimit = maxLimit + margin; xlimits = [-maxLimit maxLimit]; ylimits = [-maxLimit maxLimit]; zlimits = ptCloud.ZLimits;
Создайте проигрыватель для визуализации облака точек.
player = pcplayer(xlimits,ylimits,zlimits);
Настройте подписи по осям проигрывателя.
xlabel(player.Axes,'X (m)'); ylabel(player.Axes,'Y (m)'); zlabel(player.Axes,'Z (m)');
Задайте кубоид вокруг облака точек.
cuboidPosition = [0.3753 0 1.65 6 4 3 0 0 0];
Задайте выходное представление для вращения кубоида. Используйте те же пределы в качестве проигрывателя так, чтобы кубоид не был отсечен. Затем отобразите вращаемое облако точек и кубоид.
gridSize = [1 1 1]; ref = imref3d(gridSize,xlimits,ylimits,zlimits); for i = 1:round((360/rot)) % Rotate point cloud. ptCloud = pctransform(ptCloud,tform); % Rotate the cuboid. cuboidPosition = bboxwarp(cuboidPosition,tform,ref); % Show rotated point cloud data. view(player,ptCloud) % Show rotated cuboid. showShape('cuboid',cuboidPosition, ... 'Parent',player.Axes, ... 'Color','green', ... 'Opacity',0.5) % Use drawnow to synchronize point cloud and shape visualization. drawnow end
shape
— Тип формы'line'
| 'rectangle'
| 'cuboid'
| 'polygon'
| 'circle'
Тип формы в виде вектора символов. Вектором может быть 'line'
прямоугольник
, 'cuboid
, 'polygon'
, или 'circle'
.
Типы данных: string
position
— Положения и размеры формПоложения и размеры форм, заданных согласно типу форм, описанных в этой таблице.
Boundingbox | Описание |
---|---|
Выровненный осью прямоугольник |
Заданный в пикселе координирует как M-by-4 числовая матрица со строками формы [x y w h], где:
|
Вращаемый прямоугольник |
Заданный в пространственных координатах как M-by-5 числовая матрица со строками формы [xctr yctr xlen ylen yaw], где:
|
Кубоид |
Заданный в пространственных координатах как M-by-9 числовая матрица со строками формы [xctr yctr zctr xlen ylen zlen xrot yrot zrot], где:
Рисунок показывает, как эти значения определяют положение кубоида. |
Circle | Заданный в пространственных координатах как M-by-3 числовая матрица со строками формы [xctr yctr radius], где:
|
| Заданный в пространственных координатах как P-by-2 матрица, в которой каждая строка [x y] конечная точка или 1 2P вектором из последовательных конечных точек от [x 1 y 1 x 2 y 2 … x P x P].
Чтобы задать несколько линий, которые содержат различные количества конечных точек, можно использовать формат массива ячеек, описанный для многоугольника. |
Polygon | Заданный в пространственных координатах как M-by-1 массив ячеек, в котором каждая ячейка содержит L-by-2 матрица [x y] местоположения вершины или 1 2L вектором из последовательных местоположений вершины формы [x 1, y 1, x 2, y 2, … x L, y L], где:
|
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
Color'
, 'yellow
'задает цвет отображенных форм как желтый.'Label'
— Метка Shape[]
(значение по умолчанию) | скаляр | M - вектор элемента | M - массив ячеек из символьных векторов элементаСформируйте метку в виде разделенной запятой пары, состоящей из 'Label'
и или скаляр, M - вектор элемента или M - массив ячеек из символьных векторов элемента.
Если вход является скалярным значением, то функция применяет то же самое значение как метка к каждой форме. Если входом является M - векторный массив элемента или массив ячеек, то функция применяет каждое значение к соответствующей форме, с помощью порядка, в котором формы заданы к функции. M является количеством форм, заданных к функции.
'Color'
— Цвет формыlines(1)
(значение по умолчанию) | один или несколько триплетов RGB | одно или несколько названий цвета или коротких названий цветаЦвет формы в виде разделенной запятой пары, состоящей из 'Color'
и один или несколько триплетов RGB, или одно или несколько названий цвета или коротких названий цвета. Чтобы использовать тот же цвет для всех форм, задайте сингл (MATLAB ColorSpec
) название цвета или один триплет RGB.
Чтобы использовать различный цвет для каждой формы, задайте M - векторный массив элемента или массив ячеек названий цвета или M-by-3 числовая матрица, в которой каждой строкой является триплет RGB. M является количеством форм, заданных к функции.
'Opacity'
— Непрозрачность заливки формы
(значение по умолчанию) | M - вектор элемента из значений в области значений [0 1]Непрозрачность формы заполняет в виде разделенной запятой пары, состоящей из 'Opacity'
и M - вектор элемента из числовых значений в области значений [0 1]. Чтобы использовать ту же непрозрачность для всех форм, задайте скалярное значение непрозрачности. Для полностью непрозрачной заливки формы, набор 'Opacity'
к 1
.
'Parent'
— Выведите осиgca
(значение по умолчанию) | Axes
графический объектВыведите оси в виде разделенной запятой пары, состоящей из 'Parent'
и графический объект Свойств осей графика.
'LineColor'
— Цвет границы'auto'
(значение по умолчанию) | один или несколько триплетов RGB | одно или несколько названий цвета или коротких названий цветаЦвет границы в виде разделенной запятой пары, состоящей из 'Color'
и один или несколько триплетов RGB, или одно или несколько названий цвета или коротких названий цвета. Чтобы использовать тот же цвет для всех границ, задайте сингл (MATLAB ColorSpec
) название цвета или один триплет RGB.
Чтобы использовать различный цвет для каждой формы, задайте M - векторный массив элемента или массив ячеек названий цвета или M-by-3 числовая матрица, в которой каждой строкой является триплет RGB. M является количеством форм, заданных к функции.
'LineWidth'
— Ширина границы'auto'
(значение по умолчанию) | положительное скалярное целое число | M - вектор элемента из положительных значенийШирина границы в пикселях в виде разделенной запятой пары, состоящей из 'LineWidth'
и положительное скалярное целое число или M - вектор элемента из положительных скалярных целых чисел. Чтобы использовать ту же ширину линии для всех форм, задайте положительное скалярное целое число. В противном случае задайте M - вектор элемента из положительных целых чисел, где M является количеством форм, заданных к функции.
'LineOpacity'
— Непрозрачность границы заливки формы
(значение по умолчанию) | M - вектор элемента из значений в области значений [0 1]Непрозрачность границы формы заполняет в виде разделенной запятой пары, состоящей из 'Opacity'
и M - вектор элемента из числовых значений в области значений [0 1]. Чтобы использовать ту же непрозрачность для границы всех форм, задайте скалярное значение непрозрачности. Для полностью непрозрачной границы, набор 'Opacity'
к 1
.
'LabelTextColor'
— Цвет текста метки'black
(значение по умолчанию) | один или несколько триплетов RGB | одно или несколько названий цвета или коротких названий цветаЦвет текста метки в виде разделенной запятой пары, состоящей из 'Color'
и один или несколько триплетов RGB, или одно или несколько названий цвета или коротких названий цвета. Чтобы использовать тот же цвет для текста всех меток, задайте сингл (MATLAB ColorSpec
) название цвета или один триплет RGB.
Чтобы использовать различный цвет для текста каждой метки, задайте M - векторный массив элемента или массив ячеек названий цвета или M-by-3 числовая матрица, в которой каждой строкой является триплет RGB. M является количеством меток, заданных к функции.
'LabelOpacity'
— Пометьте непрозрачность
(значение по умолчанию) | M - вектор элемента из значений в области значений [0 1]Пометьте непрозрачность в виде разделенной запятой пары, состоящей из 'Opacity'
и M - вектор элемента из числовых значений в области значений [0 1]. Чтобы использовать ту же непрозрачность для всех меток, задайте скалярное значение непрозрачности. Для полностью непрозрачной метки, набор 'Opacity'
к 1
.
'LabelFont'
— Пометьте шрифт'Helvetica'
(значение по умолчанию) | 'FixedWidth'
| поддерживаемый шрифтПометьте шрифт в виде разделенной запятой пары, состоящей из 'LabelFont'
и 'FixedWidth'
или шрифт, который поддерживает ваша система. Чтобы отобразить и распечатать текст правильно, необходимо выбрать шрифт, который поддерживает система. Если вы выбираете неподдерживаемый шрифт, функция возвращает ошибку. Если вы задаете 'FixedWidth'
, функция использует шрифт, заданный FixedWidthFont
свойство объекта Root Properties. Шрифт фиксированной ширины использует значение get(0,'FixedWidthFontName')
.
'LabelFontSize'
— Пометьте размер шрифта
(значение по умолчанию) | положительная скалярная величинаПометьте размер шрифта в модулях точки в виде разделенной запятой пары, состоящей из 'LabelFontSize'
и положительная скалярная величина.
imshow
| insertMarker
| insertObjectAnnotation
| insertObjectMask
| insertShape
| insertText
| pcplayer
| pcshow
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.