主要内容

bboxcrop

作物边界框

描述

例子

bboxB = bboxcrop (bboxA窗口庄稼从一组输入框包围框,bboxA,位于种植区,窗口

bboxB指数) = bboxcrop (bboxA窗口另外,返回一个索引向量,指示在哪个边界框中bboxA在裁剪窗口内,窗口

___) = bboxcrop (___“OverlapThreshold”阈值另外设置重叠阈值。

例子

全部折叠

读一个图像。

我= imread (“peppers.png”);

定义边框和标签。

bboxA = [410 230 100 90 186 78 80 60]
bboxA =2×4410 230 100 90 186 78 80 60
labelsA = [“大蒜”“洋葱”];

创建一个中心裁剪窗口。

targetSize = [256 256];赢得= centerCropWindow2d(大小(I), targetSize);

中间裁切图像。

[r、c] =交易(win.YLimits (1): win.YLimits (2), win.XLimits (1): win.XLimits (2));J =我(r c:);

中心作物盒和标签。移除裁剪窗口外的框。

[bboxB,指数]= bboxcrop (bboxA,赢得);labelsB = labelsA(指标);

显示结果。

figure I = insertObjectAnnotation(I,“矩形”、bboxA labelsA);J = insertObjectAnnotation (,“矩形”、bboxB labelsB);imshowpair (I, J,“蒙太奇”

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

输入参数

全部折叠

边框,指定为4,5、- × 9非稀疏数值矩阵。为包围框的数目。矩阵的每一行都将边界框定义为轴对齐的矩形、旋转的矩形或长方体。该表描述了每个边界框的格式。

边界框 描述
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]。

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

裁剪窗口,指定为四元素向量或长方体对象。

当你指定bboxA作为矩形输入,裁剪窗口必须是四个元素的矢量,格式为[xy宽度高度]。

当你指定bboxA作为长方体,裁剪窗口必须为长方体对象。

重叠阈值,指定为小于或等于的正标量1.转换后的框与输出视图定义的区域之间的重叠量定义为:

bbox区域相交边界矩形) /bbox区)

  • 边界矩形-由输入空间参考对象定义,裁判

  • bbox-转换框的结果bboxA

如果计算的重叠值大于阈值属性,则转换后的框将被裁剪到边框。否则,这些盒子将被丢弃。降低阈值会导致部分对象被丢弃。

输出参数

全部折叠

被裁剪的边界框,返回为平方米——- - - - - -N矩阵的平方米边界框。返回的边界框数量小于输入中的边界框数量。每一行,平方米,定义了一个与输入类型相同的边界框bboxA

索引,作为整数向量返回。索引表示输入中的边界框,bboxA,在裁剪窗口内。

介绍了R2019b