mindspore.dataset.vision.RandomCropDecodeResize

class mindspore.dataset.vision.RandomCropDecodeResize(size, scale=(0.08, 1.0), ratio=(3.0 / 4.0, 4.0 / 3.0), interpolation=Inter.BILINEAR, max_attempts=10)[source]

A combination of Crop , Decode and Resize . It will get better performance for JPEG images. This operation will crop the input image at a random location, decode the cropped image in RGB mode, and resize the decoded image.

Parameters
  • size (Union[int, Sequence[int]]) – The output size of the resized 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, it should be (height, width).

  • scale (Union[list, tuple], optional) – Range [min, max) of respective size of the original size to be cropped, which must be non-negative. Default: (0.08, 1.0).

  • ratio (Union[list, tuple], optional) – Range [min, max) of aspect ratio to be cropped, which must be non-negative. Default: (3. / 4., 4. / 3.).

  • interpolation (Inter, optional) –

    Image interpolation mode for resize operation. Default: Inter.BILINEAR. It can be Inter.BILINEAR, Inter.NEAREST, Inter.BICUBIC, Inter.AREA, Inter.PILCUBIC.

    • Inter.BILINEA , means interpolation method is bilinear interpolation.

    • Inter.NEAREST , means interpolation method is nearest-neighbor interpolation.

    • Inter.BICUBIC , means interpolation method is bicubic interpolation.

    • Inter.AREA :, means interpolation method is pixel area interpolation.

    • Inter.PILCUBIC , means interpolation method is bicubic interpolation like implemented in pillow, input should be in 3 channels format.

  • max_attempts (int, optional) – The maximum number of attempts to propose a valid crop_area. Default: 10. If exceeded, fall back to use center_crop instead. The max_attempts value must be positive.

Raises
Supported Platforms:

CPU

Examples

>>> import mindspore.dataset as ds
>>> import mindspore.dataset.vision as vision
>>> from mindspore.dataset.vision import Inter
>>>
>>> resize_crop_decode_op = vision.RandomCropDecodeResize(size=(50, 75),
...                                                       scale=(0.25, 0.5),
...                                                       interpolation=Inter.NEAREST,
...                                                       max_attempts=5)
>>> transforms_list = [resize_crop_decode_op]
>>> image_folder_dataset = ds.ImageFolderDataset("/path/to/image_folder_dataset_directory")
>>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
...                                                 input_columns=["image"])
Tutorial Examples: