bboxcrop
Crop bounding boxes
Syntax
Description
Examples
Center Crop Image and Corresponding Bounding Boxes
Read an image.
I = imread('peppers.png');
Define bounding boxes and labels.
bboxA = [ 410 230 100 90 186 78 80 60 ]
bboxA = 2×4
410 230 100 90
186 78 80 60
labelsA = [ "garlic" "onion" ];
Create a center cropping window.
targetSize = [256 256]; win = centerCropWindow2d(size(I),targetSize);
Center crop the image.
[r,c] = deal(win.YLimits(1):win.YLimits(2),win.XLimits(1):win.XLimits(2)); J = I(r,c,:);
Center crop boxes and labels. Boxes outside the cropping window are removed.
[bboxB,indices] = bboxcrop(bboxA,win); labelsB = labelsA(indices);
Display the results.
figure I = insertObjectAnnotation(I,'Rectangle',bboxA,labelsA); J = insertObjectAnnotation(J,'Rectangle',bboxB,labelsB); imshowpair(I,J,'montage')
Input Arguments
bboxA
— Bounding boxes
Mby4 matrix  Mby5 matrix  Mby9 matrix
Bounding boxes, specified as an Mby4, Mby5, or Mby9 nonsparse numeric matrix. M is the number of bounding boxes. Each row of the matrix defines a bounding box as either an axisaligned rectangle, a rotated rectangle, or a cuboid. This table describes the format for each bounding box.
Bounding Box  Description 

Axisaligned rectangle 
Defined in pixel coordinates as an Mby4 numeric matrix with rows of the form [x y w h], where:

Rotated rectangle 
Defined in spatial coordinates as an Mby5 numeric matrix with rows of the form [xctr yctr xlen ylen yaw], where:

Cuboid 
Defined in spatial coordinates as an Mby9 numeric matrix with rows of the form [xctr yctr zctr xlen ylen zlen xrot yrot zrot], where:
The figure shows how these values determine the position of a cuboid. 
window
— Crop window
fourelement vector (default)  images.spatialref.Cuboid
 numeric  image
threshold
— Overlap threshold
1 (default)  positive scalar less than or equal to 1
Overlap threshold, specified as a positive scalar less than or equal to
1
. The amount of overlap between transformed boxes and the area
defined by the output view is defined as:
bbox area intersect bounding rectangle) /bbox area)
bounding rectangle — Defined by the input spatial reference object,
ref
.bbox — Result of transforming boxes in
bboxA
.
If the computed overlap value is greater than the value of the
threshold
property, then the transformed boxes are clipped to the
bounding rectangle border. Otherwise, the boxes are discarded. Lowering the threshold
can result in parts of the object getting discarded.
Output Arguments
bboxB
— Cropped bounding boxes
M2byN matrix  nonsparse numeric
Cropped bounding boxes, returned as an M2byN
matrix of M2 bounding boxes. The number of bounding boxes returned is
less than the number of bounding boxes in the input. Each row, M2, of
the matrix defines one bounding box of the same type as the input
bboxA
.
indices
— Indices
vector of integers
Indices, returned as a vector of integers. The indices indicate which bounding boxes
in the input, bboxA
, are within the cropping window.
See Also
imcrop
 bboxresize
 bboxwarp
 bboxerase
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)