主要内容

bboxwarp

对边界框应用几何变换

描述

例子

bboxB= bboxwarp (bboxAtform裁判中转换边界框bboxA根据几何变换定义tform.边界框可以是轴向矩形、旋转矩形或长方体。空间参考对象,裁判,定义将框转换到的输出视图。该函数支持二维和三维边界框。

bboxB= bboxwarp (bboxAtform裁判“OverlapThreshold”,overlapThreshold还指定正重叠阈值。

bboxB指数) = bboxwarp (___另外,返回一个索引向量,这些索引指示在哪个边界框中bboxA对应于输出中的扭曲版本,bboxB.您可以指定上述两组输入参数中的任何一组。

例子

全部折叠

读一个图像。

我= imread (“peppers.png”);

定义边界框和标签。

bboxA = [410 230 100 90 186 78 80 60]
bboxA =2×4410 230 100 90 186 78 80 60
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})

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

输入参数

全部折叠

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

边界框 描述
Axis-aligned矩形

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

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

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

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

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

旋转的矩形

在空间坐标中定义为-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]。

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

几何变换,指定为affinetform2d对象的矩形输入或affinetform3d对象的长方体输入。bboxwarp函数支持仅包含缩放、旋转和平移的仿射变换。

空间引用,指定为imref2d对象的矩形输入或imref3d对象的长方体输入。要获取这些对象之一,可以使用imwarp或者是affineOutputView函数。对象定义转换方框的输出视图。控件定义的输出视图之外完全转换的裁判被丢弃。

[J,击溃]= imwarp(我tform);[bboxB,指数]= bboxwarp (bboxA、tform溃败);
路由= affineOutputView(size(I),tform) J = imwarp(I,tform,'OutputView',路由);[bboxB,指数]= bboxwarp (bboxA、tform溃败);

重叠阈值,指定为小于或等于的正标量1.变换后的盒子和区域之间的重叠量W,由输出视图定义,定义为:

区域相交bboxAW)) /区域bboxBW)

的值阈值属性,然后将转换后的方框剪切到边界矩形边框上。否则,包装盒将被丢弃。降低阈值可能导致对象的部分内容被丢弃。

输出参数

全部折叠

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

索引,作为整数的向量返回。索引表示输入中的边界框,bboxA,对应于输出中的扭曲版本,bboxB

版本历史

介绍了R2019b

全部展开

Baidu
map