mindspore.dataset.vision.RandomCropWithBBox
- class mindspore.dataset.vision.RandomCropWithBBox(size, padding=None, pad_if_needed=False, fill_value=0, padding_mode=Border.CONSTANT)[source]
Crop the input image at a random location and adjust bounding boxes accordingly.
- Parameters
size (Union[int, Sequence[int]]) – The output size of the cropped image. The size value(s) must be positive. If size is an integer, a square crop of size (size, size) is returned. If size is a sequence of length 2, an image of size (height, width) will be cropped.
padding (Union[int, Sequence[int]], optional) – The number of pixels to pad the image The padding value(s) must be non-negative. Default:
None
. If padding is notNone
, first pad image with padding values. If a single number is provided, pad all borders with this value. If a tuple or lists of 2 values are provided, pad the (left and right) with the first value and (top and bottom) with the second value. If 4 values are provided as a list or tuple, pad the left, top, right and bottom respectively.pad_if_needed (bool, optional) – Pad the image if either side is smaller than the given output size. Default:
False
.fill_value (Union[int, tuple[int]], optional) – The pixel intensity of the borders, only valid for padding_mode Border.CONSTANT. If it is a 3-tuple, it is used to fill R, G, B channels respectively. If it is an integer, it is used for all RGB channels. The fill_value values must be in range [0, 255]. Default:
0
.padding_mode (Border, optional) –
The method of padding. Default:
Border.CONSTANT
. It can be any ofBorder.CONSTANT
,Border.EDGE
,Border.REFLECT
,Border.SYMMETRIC
.Border.CONSTANT
, means it fills the border with constant values.Border.EDGE
, means it pads with the last value on the edge.Border.REFLECT
, means it reflects the values on the edge omitting the last value of edge.Border.SYMMETRIC
, means it reflects the values on the edge repeating the lastvalue of edge.
- Raises
TypeError – If size is not of type int or Sequence[int].
TypeError – If padding is not of type int or Sequence[int].
TypeError – If pad_if_needed is not of type boolean.
TypeError – If fill_value is not of type int or tuple[int].
TypeError – If padding_mode is not of type
mindspore.dataset.vision.Border
.ValueError – If size is not positive.
ValueError – If padding is negative.
ValueError – If fill_value is not in range [0, 255].
RuntimeError – If given tensor shape is not <H, W> or <H, W, C>.
- Supported Platforms:
CPU
Examples
>>> import mindspore.dataset as ds >>> import mindspore.dataset.vision as vision >>> >>> image_folder_dataset = ds.ImageFolderDataset("/path/to/image_folder_dataset_directory") >>> decode_op = vision.Decode() >>> random_crop_with_bbox_op = vision.RandomCropWithBBox([512, 512], [200, 200, 200, 200]) >>> transforms_list = [decode_op, random_crop_with_bbox_op] >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list, ... input_columns=["image"])
- Tutorial Examples: