主要内容

showShape

在图像、视频或点云上显示形状

描述

例子

showShape (形状位置显示一个或多个形状实例形状在当前坐标轴上的指定位置位置

例子

showShape (___名称,值使用一个或多个名称-值对参数指定选项。例如,“颜色的“黄'指定显示形状的颜色为黄色。

例子

全部折叠

将图像读入工作区。

我= imread (“visionteam1.jpg”);

创建聚合通道特性(ACF)人员检测器。

探测器= peopleDetectorACF ()
ObjectTrainingSize: [100 41] NumWeakLearners: 2048 . acfObjectDetector = acfObjectDetector,属性:ModelName: 'inria-100x41

检测图像中的人。

[bboxes,分数]=检测(探测器,I);

在每个被检测到的人周围,用标记的矩形显示图像,包括相关的检测分数。

图imshow(I)标签=人:“+得分;showShape (“矩形”bboxes,“标签”、标签)

图中包含一个坐标轴。轴包含一个image类型的对象。

将点云数据读取到工作区中。

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 = [cod (rot) sind(rot) 0 0; / / if (sind(rot) = 0; / / if (sind(rot) = 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);

在绘图中添加额外的边距,以防止在旋转过程中长方体被剪切。

利润= 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结束

图点云播放器包含一个轴。坐标轴包含一个散点类型的对象。

输入参数

全部折叠

形状的类型,指定为字符向量。向量可以是“行”“矩形”“长方体“多边形”,或“圆”

数据类型:字符串

形状的位置和大小,根据形状的类型指定,在本表中描述。

边界框 描述
Axis-aligned矩形

在像素坐标中定义为-乘4的数字矩阵,列的形式[xywh),地点:

  • 为轴对齐矩形的数目。

  • xy指定矩形的左上角。

  • w指定矩形的宽度,即矩形沿边框的长度x设在。

  • h指定矩形的高度,即矩形沿边框的长度y设在。

旋转的矩形

在空间坐标中定义为-乘5的数字矩阵,其行形式为[xctryctrxlenylen偏航),地点:

  • 为旋转矩形的数目。

  • xctryctr指定矩形的中心。

  • xlen指定矩形的宽度,即矩形沿边框的长度x设在前旋转。

  • ylen指定矩形的高度,即矩形沿边框的长度y设在前旋转。

  • 偏航指定旋转角度(以度为单位)。围绕包围盒的中心旋转是顺时针方向的。

正方形矩形旋转-30度。

长方体

在空间坐标中定义为-乘9的数字矩阵,其行形式为[xctryctrzctrxlenylenzlenxrotyrotzrot),地点:

  • 为长方体的个数。

  • xctryctr,zctr指定长方体的中心。

  • xlenylen,zlen指定长方体的长度沿x设在,y设在,z-axis,分别在旋转前。

  • xrotyrot,zrot的周围指定长方体的旋转角度x设在,y设在,z分别设在。的xrotyrot,zrot旋转角是围绕长方体中心的度数。每一个旋转相对于相关空间轴的正方向是顺时针方向。这个函数计算旋转矩阵ZYX股票阶欧拉角[xrotyrotzrot].

该图显示了这些值如何确定长方体的位置。

在空间坐标中定义为-乘3的数字矩阵,列为表格[xctryctr半径),地点:

  • 为圆的数目。

  • xctryctr指定圆心。

  • 半径指定圆的半径。

在空间坐标中定义为P-by-2矩阵,其中每一行是[xy端点或1 × 2P序列连续端点的向量[x1y1x2y2...xPxP].

  • P是端点的数目。

  • x1y1], [x2y2),而xPxP描述端点。

若要指定包含不同数目端点的几行,可以使用为多边形描述的单元格数组格式。

多边形

在空间坐标中定义为-by-1 cell数组,其中每个cell包含一个l- × 2矩阵[xy或1乘2的顶点位置l形状连续顶点位置的向量[x1y1x2y2, ...xlyl),地点:

  • 为多边形的数量。

  • x1y1], [x2y2描述顶点位置或端点。

  • l是多边形中的顶点数或直线中的端点数。每个多边形或线可以有不同数量的顶点或端点。

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:颜色的“黄'指定显示形状的颜色为黄色。

形状标签,指定为逗号分隔对,由“标签”或者是标量,元素向量,或-字符向量的单元格数组。

如果输入是标量值,则该函数将相同的值作为标签应用于每个形状。如果输入是-element vector或cell array,然后该函数将每个值应用于相应的形状,并使用指定形状的顺序。为函数指定的形状数量。

形状颜色,指定为逗号分隔对,由“颜色”和一个或多个RGB三联体,或一个或多个颜色名称或短颜色名称。要对所有形状使用相同的颜色,指定一个(MATLABColorSpec)颜色名称或单一RGB三联。

要为每个形状使用不同的颜色,请指定元素向量或单元格数组的颜色名称或-乘3的数字矩阵,其中每一行是一个RGB三元组。为函数指定的形状数量。

形状填充的不透明度,指定为逗号分隔对组成“不透明度”和一个-数值范围为[0 1]的元素向量。若要对所有形状使用相同的不透明度,请指定标量不透明度值。对于完全不透明的形状填充,设置“不透明度”1

输出轴,指定为逗号分隔对,由“父”和一个轴属性图形对象。

边框线颜色,指定为逗号分隔对,由“颜色”和一个或多个RGB三联体,或一个或多个颜色名称或短颜色名称。要对所有边框使用相同的颜色,请指定单个(MATLABColorSpec)颜色名称或单一RGB三联。

要为每个形状使用不同的颜色,请指定元素向量或单元格数组的颜色名称或-乘3的数字矩阵,其中每一行是一个RGB三元组。为函数指定的形状数量。

以像素为单位的边框线宽度,指定为逗号分隔的对,由“线宽”一个正的标量整数-正标量整数的元素向量。若要对所有形状使用相同的线宽,请指定一个正标量整数。否则,指定一个-元素正整数向量,其中为函数指定的形状数量。

形状填充的边线不透明度,指定为逗号分隔对组成“不透明度”和一个-数值范围为[0 1]的元素向量。若要对所有形状的边框使用相同的不透明度,请指定标量不透明度值。对于完全不透明的边线,设置“不透明度”1

标签文本颜色,指定为逗号分隔对组成“颜色”和一个或多个RGB三联体,或一个或多个颜色名称或短颜色名称。要对所有标签的文本使用相同的颜色,请指定单个(MATLABColorSpec)颜色名称或单一RGB三联。

要为每个标签的文本使用不同的颜色,请指定元素向量或单元格数组的颜色名称或-乘3的数字矩阵,其中每一行是一个RGB三元组。为函数指定的标签数。

标签不透明度,指定为逗号分隔对,由“不透明度”和一个-数值范围为[0 1]的元素向量。若要对所有标签使用相同的不透明度,请指定标量不透明度值。对于完全不透明的标签,请设置“不透明度”1

标签字体,指定为逗号分隔对,由“LabelFont”“FixedWidth”或系统支持的字体。万博1manbetx要正确显示和打印文本,必须选择系统支持的字体。万博1manbetx如果您选择了不受支持的字体,该函数将返万博1manbetx回一个错误。如果您指定“FixedWidth”时,函数使用指定的字体FixedWidthFont财产的根的属性对象。固定宽度的字体依赖于的值get (0, ' FixedWidthFontName ')

以点为单位的标签字体大小,由逗号分隔对组成“LabelFontSize”一个正标量。

介绍了R2020b