主要内容

showShape

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

描述

例子

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

例子

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

例子

全部折叠

将图像读入工作区。

I = imread(“visionteam1.jpg”);

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

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

检测图像中的人。

[bboxes,scores] = detect(检测器,I);

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

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

图中包含一个轴对象。axis对象包含一个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”);

定义一个旋转矩阵和三维变换,将点云和相关长方体旋转5度。

Rot = 5;R = [cosd(腐)sind(腐)0 0;...-sind(rot) cosd(rot) 0 0;...0 0 10 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];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:round((360/rot))%旋转点云。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),地点:

  • 是长方体的个数。

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

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

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

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

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

  • 是圆的个数。

  • xctr而且yctr指定圆心。

  • 半径指定圆的半径。

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

  • P是端点的个数。

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

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

多边形

在空间坐标中定义为-by-1单元格数组,其中每个单元格包含一个l的-by-2矩阵xy]顶点位置或1乘2l窗体[的连续顶点位置的向量x1y1x2y2,……xlyl),地点:

  • 是多边形的数量。

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

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

projected-cuboid

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

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

当指定为-by-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三元组。

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

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

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

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

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

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

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

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

版本历史

R2020b中介绍

全部展开