showShape
在图像、视频或点云上显示形状
描述
例子
在图像中显示检测到的对象
将图像读入工作区。
我= imread (“visionteam1.jpg”);
创建一个聚合通道特征(ACF)人员检测器。
探测器= peopleDetectorACF ()
ModelName: 'inria-100x41' ObjectTrainingSize: [100 41] numweaklanguages: 2048
检测图像中的人。
[bboxes,分数]=检测(探测器,I);
显示带有标记矩形的图像。在每个被检测到的人周围显示相关的检测分数。
图imshow(I)标签=人:“+得分;showShape (“矩形”、bboxes标签=标签)
在点云中显示对象周围的包围框
将点云数据读入工作空间。
ptCloud = pcread (“teapot.ply”);
显示点云数据。
图pcshow (ptCloud)包含(“X”) ylabel (“Y”) zlabel (“Z”)
定义一个长方体,并以绿色显示,不透明度为0.5
.
Pos = [0.3753 0 1.65 6 4 3 0 0 0];showShape (“长方体”、pos、颜色=“绿色”,透明度= 0.5)
在点云流中可视化运动物体周围的长方体
将点云数据读入工作空间。
ptCloud = pcread (“teapot.ply”);
定义旋转矩阵和3-D变换,将点云和相关的长方体旋转5度。
腐烂= 5;R = [cosd(rot) sind(rot) 0 0;...-sind(rot) cosd(rot) 0;...0 0 1 0;...0 0 0 1];tform = affine3d (R);
计算点云的x和y渲染极限,以确保点云在旋转过程中不被剪切。
pcLimits = abs ([ptCloud。XLimits ptCloud.YLimits]);maxLimit = max (pcLimits);
在图中添加额外的边距,以防止长方体在旋转过程中被剪切。
利润= 1;maxLimit = maxLimit + margin;xlimits = [-maxLimit maxLimit];ylimits = [-maxLimit maxLimit];zlimits = ptCloud.ZLimits;
创建一个播放器来可视化点云。
球员= pcplayer (xlimits ylimits zlimits);
自定义玩家轴标签。
包含(球员。轴,“X”(m));ylabel(球员。轴,“Y (m)”);zlabel(球员。轴,“Z”(m));
定义一个围绕点云的长方体。
cuboidPosition = [0.3753 0 1.65 6 4 3 0 0 0];
定义长方体旋转的输出视图。使用与玩家相同的限制,这样长方体就不会被裁剪。然后显示旋转后的点云和长方体。
gridSize = [1 1 1];ref = imref3d (gridSize xlimits、ylimits zlimits);为i = 1:圆形((360 /腐烂))%旋转点云。ptCloud = pctransform (ptCloud tform);旋转长方体。cuboidPosition = bboxwarp (cuboidPosition、tform ref);显示旋转的点云数据。视图(球员,ptCloud)显示旋转的长方体。showShape (“长方体”cuboidPosition,...父母=球员。轴,...颜色=“绿色”,...不透明度= 0.5)使用drawnow同步点云和形状可视化。drawnow结束
输入参数
形状
- - - - - -类型的形状
“矩形”
|“filled-rectangle”
|“行”
|“多边形”
|“filled-polygon”
|“圆”
|“实心圆”
|“projected-cuboid”
形状的类型,指定为“矩形”
,“filled-rectangle”
,“行”
,“多边形”
,“filled-polygon”
,“圆”
,或“实心圆”
,“projected-cuboid”
.
数据类型:字符
位置
- - - - - -形状的位置和大小
矩阵|向量|单元阵列
形状的位置和大小,根据形状的类型指定,在此表中描述。
边界框 | 描述 |
---|---|
矩形 |
在空间坐标中定义为米-by-4数字矩阵,行形式为[xywh),地点:
|
rotated-rectangle |
在空间坐标中定义为米-by-5数字矩阵,行形式为[xctryctrxlenylen偏航),地点:
|
长方体 |
在空间坐标中定义为米-by-9数字矩阵,行形式为[xctryctrzctrxlenylenzlenxrotyrotzrot),地点:
该图显示了这些值如何确定长方体的位置。 |
圆 |
在空间坐标中定义为米-by-3数字矩阵,行形式为[xctryctr半径),地点:
|
|
在空间坐标中定义为P-by-2矩阵,其中每一行都是[xy端点或1 × 2P的连续端点的向量。x1y1x2y2...xPxP]。
若要指定包含不同数量端点的几行,可以使用为多边形描述的单元格数组格式。 |
多边形 |
在空间坐标中定义为米-by-1单元格数组,其中每个单元格包含l-by-2矩阵的[xy顶点位置或1 × 2l形式[的连续顶点位置的向量x1,y1,x2,y2,……xl,yl),地点:
|
projected-cuboid |
一个8-by-2-by -米数组或一个米8矩阵,米指定投影的长方体。 当指定为8 × 2-时米数组中,每一行必须包含 投影的长方体顶点的位置。顶点相连形成一个有六个面的长方体。输入顶点的顺序必须与图中显示的顺序匹配。 当指定为米- × 8矩阵,每一行指定投影长方体的正面和背面,
在那里,(x1, y1]和[x2 y2]分别指定正面和背面的左上角坐标。[w1 h1]和[w2 h2]指定相应的宽度和高度。 |
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:showShape(“矩形”,bboxes,颜色=“黄色”)
将形状的颜色设置为黄色。
标签
- - - - - -形状的标签
[]
(默认)|标量|米元向量|米-element单元格数组的字符向量
形状标签,指定为标量,米-element vector,或者an米-element单元格数组的字符向量,其中米指定形状的数量。
如果输入是标量值,则函数将标签应用于每个形状。如果输入是米-element vector或单元格数组,则该函数将唯一标签应用到相应的形状,使用指定给函数的形状的顺序。
颜色
- - - - - -形状颜色
线(1)
(默认)|一个或多个RGB三联|一个或多个颜色名称或简短的颜色名称
形状颜色,指定为一个或多个RGB三元组,或一个或多个(MATLABColorSpec
)颜色或简短的颜色名称。颜色值必须在范围内指定[0255]
.值的范围为[0, 1]
在将其与此函数一起使用之前,必须按255的值进行缩放。例如,(255 255 255)。* colorvalue
颜色 | 格式 | 例子 |
---|---|---|
为所有形状指定一种颜色 | 颜色名称 |
|
RGB值 |
|
|
为每个形状指定一种颜色 | 米元向量 |
|
米-by-3矩阵,作为RGB值的列表 |
255 0 0 255 0 0 0 255 255 |
不透明度
- - - - - -形状填充的不透明度
0
(默认)|米[0 1]范围内值的元素向量
形状填充的不透明度,指定为米-数值范围[的元素向量0 1
),米指定形状的数量。若要对所有形状使用相同的不透明度,请指定一个标量不透明度值。对于完全不透明的形状填充,设置不透明度
来1
.
父
- - - - - -输出轴
gca
(默认)|轴
图形对象
输出轴,指定为轴属性图形对象。
LineColor
- - - - - -边界线的颜色
“汽车”
(默认)|一个或多个RGB三联|一个或多个颜色名称或简短的颜色名称
边线颜色,指定为一个或多个RGB三联,或一个或多个颜色或短颜色名称。若要对所有边框线使用相同的颜色,请指定一个(MATLABColorSpec
)颜色名称或单个RGB三元组。
若要为每个形状使用不同的颜色,请指定米元素向量或单元格数组的颜色名称或米-by-3的数字矩阵,其中每一行都是一个RGB三元组。米指定给函数的形状数。
线宽
- - - - - -边界的线宽
“汽车”
(默认)|积极的标量整数|米-正元素向量
边界线宽度(以像素为单位),指定为正标量整数或米-正标量整数的元素向量,其中米是形状的数量。若要对所有形状使用相同的线宽,请指定一个正标量整数。否则,指定一个米-正整数的元素向量。
LineOpacity
- - - - - -形状填充的边界线不透明度
0
(默认)|米[0 1]范围内值的元素向量
形状填充的边框线不透明度,指定为米-数值范围[的元素向量0 1
),米是形状的数量。若要对所有形状的边框线使用相同的不透明度,请指定一个标量不透明度值。对于完全不透明的边框线,设置不透明度
来1
.
LabelTextColor
- - - - - -标签文本颜色
“黑
(默认)|一个或多个RGB三联|一个或多个颜色名称或简短的颜色名称
标签文本颜色,指定为一个或多个RGB三联,或一个或多个颜色名称或短颜色名称。若要为所有标签的文本使用相同的颜色,请指定一个(MATLABColorSpec
)颜色名称或单个RGB三元组。
若要为每个标签的文本使用不同的颜色,请指定米元素向量或单元格数组的颜色名称或米-by-3的数字矩阵,其中每一行都是一个RGB三元组。米指定给函数的标签数。
LabelOpacity
- - - - - -标签不透明度
0
(默认)|米[0 1]范围内值的元素向量
标签不透明度,指定为米-数值范围[的元素向量0 1
),米是形状的数量。若要对所有标签使用相同的不透明度,请指定一个标量不透明度值。对于完全不透明的标签,设置不透明度
来1
.
LabelFont
- - - - - -标签的字体
“Helvetica”
(默认)|“FixedWidth”
|支持字体
标签字体,指定为“FixedWidth”
或者使用系统支持的字体。要正确显示和打印文本,必须选择系统支持的字体。如果选择不支持的字体,函数将返回一个错误。如果您指定“FixedWidth”
函数指定的字体FixedWidthFont
财产的根的属性对象。的值决定固定宽度的字体get (0, ' FixedWidthFontName ')
.
LabelFontSize
- - - - - -标签字体大小
12
(默认)|积极的标量
以点单位标记字体大小,指定为正标量。
版本历史
介绍了R2020bR2022b:长方体可视化预计
增加了可视化投影长方体的支持。
R2022a:包围盒坐标:使用空间坐标进行目标检测的数据增强
的bboxresize
,bboxcrop
,bboxwarp
,showShape
函数假设轴向矩形的输入边界框坐标以空间坐标指定,并以空间坐标返回转换后的边界框。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。