文档帮助中心文档
对边界框应用几何变换
bboxB = bboxwarp (bboxA tform ref)
[bboxB,指数]= bboxwarp (bboxA、tform ref)
[___] = bboxwarp(___、“OverlapThreshold”阈值)
例子
bboxb = bboxwarp(bboxA,tform.,裁判)将包围框转换为bboxA根据定义的几何变换tform..边界盒可以是轴对齐的矩形,旋转矩形或长方体。空间参考对象,裁判,定义将方框转换为的输出视图。
bboxb = bboxwarp(bboxA,tform.,裁判)
bboxA
tform.
裁判
[bboxB,指数] = bboxwarp(bboxA,tform.,裁判)另外,返回一个索引向量,指示在哪个边界框中bboxA对应于输出中的翘曲版本,bboxB.
[bboxB,指数] = bboxwarp(bboxA,tform.,裁判)
bboxB
指数
[___] = bboxwarp(___“OverlapThreshold”,临界点)另外设置重叠阈值。
[___] = 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.
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})
边框,指定为米- 4,米5、米的非稀疏数值矩阵米边界框。每一行,米,将边界框定义为轴对齐矩形、旋转矩形或长方体。下表描述了包围框的格式。
定义为像素坐标作为一个米- 4个数字矩阵,表单的行[xywh], 在哪里:
米为轴对齐矩形的数目。
x和y指定矩形的左上角。
y
w指定矩形的宽度,这是它的长度x设在。
h指定矩形的高度,即矩形沿边框的长度y设在。
在空间坐标中定义为米-5-5个数字矩阵,表单的行[xctryctr.xlenylen偏航], 在哪里:
米为旋转矩形的数目。
xctr和yctr.指定矩形的中心。
xlen指定矩形的宽度,这是它的长度x设在前旋转。
ylen指定矩形的高度,即矩形沿边框的长度y设在前旋转。
偏航指定旋转角度(以度为单位)。围绕包围盒的中心旋转是顺时针方向的。
在空间坐标中定义为米-乘9的数字矩阵,其行形式为[xctryctr.ZCTR.xlenylenZlen.xrotyrotzrot], 在哪里:
米是长方体的数量。
xctr,yctr., 和ZCTR.指定长方体的中心。
xlen,ylen, 和Zlen.指定长方体的长度沿着x设在,y设在,z- 旋转前分别在旋转之前。
xrot,yrot, 和zrot的周围指定长方体的旋转角度x设在,y设在,z分别设在。的xrot,yrot, 和zrot旋转角是围绕长方体中心的度数。每一个旋转相对于相关空间轴的正方向是顺时针方向。这个函数计算旋转矩阵ZYX股票订购欧拉角度[xrotyrotzrot]。
ZYX股票
该图显示了这些值如何确定立方体的位置。
affine2d
几何变换,用affine2d对象。Bboxwarp函数仅支持缩放、旋转金宝app和平移仿射变换。
imref2d.
空间参考,指定为一个imref2d.由此返回的对象imwarp或者AffineOutputView.函数。对象定义了用于转换框的输出视图。由定义的输出视图之外完全转换的方框裁判被丢弃了。
AffineOutputView.
[J,击溃]= imwarp(我tform);[bboxB,指数]= bboxwarp (bboxA、tform溃败);
rut = AffineOutputView(大小(i),tform)j = imwarp(i,tform,'outputview',ray);[bboxB,指数]= bboxwarp (bboxA、tform溃败);
1
重叠阈值,指定为小于或等于的正标量1.转换后的框与输出视图定义的区域之间的重叠量定义为:
区(bbox相交边界矩形) /区域(bbox)
边界矩形-由输入空间参考对象定义,裁判.
bbox-转换框的结果bboxA.
如果计算的重叠值大于临界点属性,然后将转换的框剪切到边界矩形边框。否则,盒子被丢弃。降低阈值可能导致对象的部分丢弃。
翘曲的边界盒子,作为一个返回M2-经过-N矩阵的M2边界框。返回的边界框的数量小于输入中的边界框的数量。每一行,M2,定义了一个与输入类型相同的边界框bboxA.
索引,作为整数的向量返回。索引指出输入中的哪个边界框,bboxA,这对应于输出中的翘曲版本,bboxB.
imcrop|bboxcrop|bboxresize.|imwarp|bboxerase
imcrop
bboxcrop
bboxresize.
bboxerase
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系