主要内容

bboxcrop

裁剪边框

描述

例子

bboxB= bboxcrop (bboxA窗口从一组输入边界框中裁剪边界框,bboxA,位于种植区,窗口bboxB包含裁剪的边界框。该函数支持二维和三维包围框。金宝app

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

___= bboxcrop(___名称=值使用一个或多个名称-值参数以及以前语法中的参数组合指定选项。例如,OverlapThreshold = 1,将正重叠阈值设置为1

例子

全部折叠

读一张图片。

I = 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];win = centerCropWindow2d(size(I),targetSize);

居中裁剪图像。

[r,c] = deal(win.YLimits(1):win.YLimits(2),win.XLimits(1):win.XLimits(2));J = I(r,c,:);

将裁剪盒和标签居中。裁剪窗口外的方框被移除。

[bboxB,indices] = bboxcrop(bboxA,win);labelsB = labelsA(索引);

显示结果。

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

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

输入参数

全部折叠

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

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

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

裁剪窗口,指定为四元素向量、六元素向量或长方体对象。输出包围框的位置相对于裁剪窗口的位置。

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

当你指定bboxA作为长方体,裁剪窗口必须是格式为[的六元素向量xyz宽度高度深度],或长方体对象。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:OverlapThreshold = 1,将正重叠阈值设置为1

重叠阈值,指定为小于或等于的正标量1.输入框之间的重叠量,bboxA,以及种植面积,窗口,定义为:

区域相交bboxA窗口)) /区域联盟bboxB窗口))。

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

输出参数

全部折叠

裁剪的边界框,返回为平方米——- - - - - -N矩阵的平方米边界框。返回的包围框数量小于输入中的包围框数量。每一行,平方米,定义了一个与输入类型相同的包围框bboxA.输出包围框的位置相对于裁剪窗口的位置。

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

版本历史

R2019b引入

全部展开