主要内容

bboxwarp

对边界框应用几何变换

描述

例子

bboxb = bboxwarp(bboxAtform.裁判将包围框转换为bboxA根据定义的几何变换tform..边界盒可以是轴对齐的矩形,旋转矩形或长方体。空间参考对象,裁判,定义将方框转换为的输出视图。

bboxB指数] = bboxwarp(bboxAtform.裁判另外,返回一个索引向量,指示在哪个边界框中bboxA对应于输出中的翘曲版本,bboxB

___] = bboxwarp(___“OverlapThreshold”,临界点另外设置重叠阈值。

例子

全部收缩

读图像。

我= imread ('peppers.png');

定义边框和标签。

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

定义一个转换来水平翻转和翻译图像。

Tform = affine2d([-1 0 0;0 1 0;50 50 1]);

为。创建输出视图imwarp

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

翘曲图像。

j = imwarp(i,tform,“OutputView”,溃败);

扭曲的盒子。

[bboxB,指数]= bboxwarp (bboxA、tform溃败);Labelsb = labelsa(索引);

显示结果。

Annotatei = InsertObjectAnnotation(I,'长方形'、bboxA labelsA);annotatedJ = insertObjectAnnotation (J,'长方形'、bboxB labelsB);图蒙太奇({annotatedI, annotatedJ})

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

输入参数

全部收缩

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

边界框 描述
轴对齐矩形

定义为像素坐标作为一个- 4个数字矩阵,表单的行[xywh], 在哪里:

  • 为轴对齐矩形的数目。

  • xy指定矩形的左上角。

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

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

旋转的矩形

在空间坐标中定义为-5-5个数字矩阵,表单的行[xctryctr.xlenylen偏航], 在哪里:

  • 为旋转矩形的数目。

  • xctryctr.指定矩形的中心。

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

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

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

正方形矩形旋转-30度。

长方体

在空间坐标中定义为-乘9的数字矩阵,其行形式为[xctryctr.ZCTR.xlenylenZlen.xrotyrotzrot], 在哪里:

  • 是长方体的数量。

  • xctryctr., 和ZCTR.指定长方体的中心。

  • xlenylen, 和Zlen.指定长方体的长度沿着x设在,y设在,z- 旋转前分别在旋转之前。

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

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

几何变换,用affine2d对象。Bboxwarp函数仅支持缩放、旋转金宝app和平移仿射变换。

空间参考,指定为一个imref2d.由此返回的对象imwarp或者AffineOutputView.函数。对象定义了用于转换框的输出视图。由定义的输出视图之外完全转换的方框裁判被丢弃了。

[J,击溃]= imwarp(我tform);[bboxB,指数]= bboxwarp (bboxA、tform溃败);
rut = AffineOutputView(大小(i),tform)j = imwarp(i,tform,'outputview',ray);[bboxB,指数]= bboxwarp (bboxA、tform溃败);

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

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

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

  • bbox-转换框的结果bboxA

如果计算的重叠值大于临界点属性,然后将转换的框剪切到边界矩形边框。否则,盒子被丢弃。降低阈值可能导致对象的部分丢弃。

输出参数

全部收缩

翘曲的边界盒子,作为一个返回M2-经过-N矩阵的M2边界框。返回的边界框的数量小于输入中的边界框的数量。每一行,M2,定义了一个与输入类型相同的边界框bboxA

索引,作为整数的向量返回。索引指出输入中的哪个边界框,bboxA,这对应于输出中的翘曲版本,bboxB

介绍了R2019b