主要内容

bboxwarp

几何变换应用于边界框

自从R2019b

描述

例子

bboxB= bboxwarp (bboxA,tform,裁判)转换边界框bboxA根据定义的几何变换tform。边界框可以axis-aligned矩形,旋转矩形或长方体。空间引用对象,裁判,定义了输出视图框转换的。这个函数支持2 d和3 d边金宝app界框。

bboxB= bboxwarp (bboxA,tform,裁判“OverlapThreshold”,overlapThreshold)还指定了积极的重叠阈值。

(bboxB,指数)= bboxwarp (___)此外返回一个向量的指数表明边界框bboxA在输出对应的版本,bboxB。您可以指定前的输入参数集。

例子

全部折叠

读一个图像。

我= imread (“peppers.png”);

定义边界框和标签。

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

定义一个仿射变换水平翻转和翻译的形象。

tform = affinetform2d ([1 0 50;0 1 50;0 0 1);

创建一个输出视图imwarp

溃败= affineOutputView(大小(I), tform);

扭曲的形象。

J = imwarp (tform,我“OutputView”,溃败);

扭曲的盒子。

[bboxB,指数]= bboxwarp (bboxA、tform溃败);labelsB = labelsA(指标);

显示结果。

annotatedI = insertObjectAnnotation(我“矩形”、bboxA labelsA);annotatedJ = insertObjectAnnotation (J,“矩形”、bboxB labelsB);图蒙太奇({annotatedI, annotatedJ})

输入参数

全部折叠

边界框,指定为一个4,5、9 nonsparse数字矩阵边界框。每一行,的矩阵定义了一个边界框是一个axis-aligned矩形,矩形旋转,或一个长方体。下表描述了边界框的格式。

边界框 描述
Axis-aligned矩形

作为一个定义在空间坐标4数字矩阵形式的行(xywh),地点:

  • 是axis-aligned矩形的数量。

  • xy指定矩形的左上角。

  • w指定矩形的宽度,也就是沿其长度x设在。

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

旋转的矩形

作为一个定义在空间坐标5数字矩阵形式的行(xctryctrxlenylen偏航),地点:

  • 是旋转的数量的矩形。

  • xctryctr指定矩形的中心。

  • xlen指定矩形的宽度,也就是沿其长度x设在前旋转。

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

  • 偏航指定的旋转角度。旋转是clockwise-positive边界框的中心。

方矩形旋转-30度。

长方体

作为一个定义在空间坐标9数字矩阵形式的行(xctryctrzctrxlenylenzlenxrotyrotzrot),地点:

  • 长方体的数量。

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

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

  • xrot,yrot,zrot指定的长方体的旋转角度x设在,y设在,z分别设在。的xrot,yrot,zrot旋转角度对立方体的中心度。每个旋转clockwise-positive对相关的空间轴的正方向。函数计算旋转矩阵的假设ZYX股票阶欧拉角(xrotyrotzrot]。

图中显示这些值如何确定一个长方体的位置。

几何变换,指定为一个affinetform2d对象或一个矩形的输入affinetform3d对象为长方体输入。规模bboxwarp功能仅支持组成的仿射变换金宝app,旋转,和翻译。

空间参考,作为指定imref2d对象或矩形的输入imref3d对象为长方体输入。获取一个对象时,您可以使用imwarp或者是affineOutputView函数。对象定义了输出视图转换盒。盒子之外完全转换输出的视图定义的裁判被丢弃。

[J,击溃]= imwarp(我tform);[bboxB,指数]= bboxwarp (bboxA、tform溃败);
溃败= affineOutputView(大小(I), tform) J = imwarp(我tform OutputView,溃败);[bboxB,指数]= bboxwarp (bboxA、tform溃败);

重叠的阈值,指定为一个积极的标量小于或等于1。之间的重叠量转换盒和该地区W,定义为输出视图,定义为:

区域(相交(bboxA,W))/区域(bboxB,W)

如果计算重叠值大于的价值阈值财产,那么转换盒剪到边界矩形边界。否则,箱子被丢弃。降低阈值会导致部分对象的被丢弃。

输出参数

全部折叠

扭曲的边界框,作为一个返回平方米——- - - - - -N矩阵的平方米边界框。返回的边界盒数小于边界框在输入的数量。每一行,平方米,矩阵的定义一个相同类型的边界框的输入bboxA。当bboxB包含浮点数据,函数返回相同的类型bboxA。否则,函数返回bboxB类型

指标,作为一个整数向量返回。指数表明边界框的输入,bboxA,对应的扭曲版本输出,bboxB

版本历史

介绍了R2019b

全部展开