主要内容

showShape

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

描述

例子

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

例子

showShape (___,名称=值除前面的语法外,使用一个或多个名称-值参数指定选项。例如,showShape(“矩形”,bboxes,颜色=“黄色”)将形状的颜色设置为黄色。

例子

全部折叠

将图像读入工作区。

我= imread (“visionteam1.jpg”);

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

探测器= peopleDetectorACF ()
ModelName: 'inria-100x41' ObjectTrainingSize: [100 41] numweaklanguages: 2048

检测图像中的人。

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

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

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

图中包含一个axes对象。坐标轴对象包含一个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 = [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”

数据类型:字符

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

边界框 描述
矩形

在空间坐标中定义为-by-4数字矩阵,行形式为[xywh),地点:

  • 是轴向对齐矩形的数量。

  • x而且y指定矩形的左上角。

  • w指定矩形的宽度,它是矩形沿x设在。

  • h指定矩形的高度,它是矩形沿y设在。

rotated-rectangle

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

  • 是旋转矩形的个数。

  • xctr而且yctr指定矩形的中心。

  • xlen指定矩形的宽度,它是矩形沿x设在前旋转。

  • ylen指定矩形的高度,它是矩形沿y设在前旋转。

  • 偏航以角度为单位指定旋转角度。围绕边界框中心的顺时针正旋转。

旋转-30度的正方形矩形。

长方体

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

  • 是长方体的个数。

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

  • xlen,ylen,zlen的长方体的长度x设在,y设在,z-轴,分别旋转前。

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

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

在空间坐标中定义为-by-3数字矩阵,行形式为[xctryctr半径),地点:

  • 是圆的个数。

  • xctr而且yctr指定圆心。

  • 半径指定圆的半径。

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

  • P是端点的个数。

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

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

多边形

在空间坐标中定义为-by-1单元格数组,其中每个单元格包含l-by-2矩阵的[xy顶点位置或1 × 2l形式[的连续顶点位置的向量x1,y1,x2,y2,……xl,yl),地点:

  • 是多边形的个数。

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

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

projected-cuboid

一个8-by-2-by -数组或一个8矩阵,指定投影的长方体。

当指定为8 × 2-时数组中,每一行必须包含 x y 投影的长方体顶点的位置。顶点相连形成一个有六个面的长方体。输入顶点的顺序必须与图中显示的顺序匹配。

当指定为- × 8矩阵,每一行指定投影长方体的正面和背面,

x 1 y 1 w 1 h 1 x 2 y 2 w 2 h 2

在那里,(x1, y1]和[x2 y2]分别指定正面和背面的左上角坐标。[w1 h1]和[w2 h2]指定相应的宽度和高度。

显示有编号顶点的长方体。数字从分配到前面矩形右上角的1开始。长方体上面逆时针走1-4,下面逆时针走5-8。正的z轴向上,正的y轴向右,正的x轴朝前。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:showShape(“矩形”,bboxes,颜色=“黄色”)将形状的颜色设置为黄色。

形状标签,指定为标量,-element vector,或者an-element单元格数组的字符向量,其中指定形状的数量。

如果输入是标量值,则函数将标签应用于每个形状。如果输入是-element vector或单元格数组,则该函数将唯一标签应用到相应的形状,使用指定给函数的形状的顺序。

形状颜色,指定为一个或多个RGB三元组,或一个或多个(MATLABColorSpec)颜色或简短的颜色名称。颜色值必须在范围内指定[0255].值的范围为[0, 1]在将其与此函数一起使用之前,必须按255的值进行缩放。例如,(255 255 255)。* colorvalue

颜色 格式 例子
为所有形状指定一种颜色

颜色名称

“r”

“红色”

RGB值

(255 0 0)1 × 3网格,列分别标记为r,g,b。

为每个形状指定一种颜色 元向量

(“红”、“黄”“蓝”)

-by-3矩阵,作为RGB值的列表

255 0 0 255 0 0 0 255 255
m × 3网格,列分别为r,g,b。

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

输出轴,指定为轴属性图形对象。

边线颜色,指定为一个或多个RGB三联,或一个或多个颜色或短颜色名称。若要对所有边框线使用相同的颜色,请指定一个(MATLABColorSpec)颜色名称或单个RGB三元组。

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

边界线宽度(以像素为单位),指定为正标量整数或-正标量整数的元素向量,其中是形状的数量。若要对所有形状使用相同的线宽,请指定一个正标量整数。否则,指定一个-正整数的元素向量。

形状填充的边框线不透明度,指定为-数值范围[的元素向量0 1),是形状的数量。若要对所有形状的边框线使用相同的不透明度,请指定一个标量不透明度值。对于完全不透明的边框线,设置不透明度1

标签文本颜色,指定为一个或多个RGB三联,或一个或多个颜色名称或短颜色名称。若要为所有标签的文本使用相同的颜色,请指定一个(MATLABColorSpec)颜色名称或单个RGB三元组。

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

标签不透明度,指定为-数值范围[的元素向量0 1),是形状的数量。若要对所有标签使用相同的不透明度,请指定一个标量不透明度值。对于完全不透明的标签,设置不透明度1

标签字体,指定为“FixedWidth”或者使用系统支持的字体。要正确显示和打印文本,必须选择系统支持的字体。如果选择不支持的字体,函数将返回一个错误。如果您指定“FixedWidth”函数指定的字体FixedWidthFont财产的根的属性对象。的值决定固定宽度的字体get (0, ' FixedWidthFontName ')

以点单位标记字体大小,指定为正标量。

版本历史

介绍了R2020b

全部展开

Baidu
map