mindspore.dataset.vision.RandomResize
- class mindspore.dataset.vision.RandomResize(size)[source]
Resize the input image using
Inter
, a randomly selected interpolation mode.- 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, smaller edge of the image will be resized to this value with the same image aspect ratio. If size is a sequence of length 2, it should be (height, width).
- Raises
TypeError – If size is not of type int or Sequence[int].
ValueError – If size is not positive.
RuntimeError – If given tensor shape is not <H, W> or <H, W, C>.
- Supported Platforms:
CPU
Examples
>>> import numpy as np >>> import mindspore.dataset as ds >>> import mindspore.dataset.vision as vision >>> >>> # Use the transform in dataset pipeline mode >>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8) >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"]) >>> # 1) randomly resize image, keeping aspect ratio >>> transforms_list1 = [vision.RandomResize(50)] >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms_list1, input_columns=["image"]) >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True): ... print(item["image"].shape, item["image"].dtype) ... break (50, 50, 3) uint8 >>> # 2) randomly resize image to landscape style >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"]) >>> transforms_list2 = [vision.RandomResize((40, 60))] >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms_list2, input_columns=["image"]) >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True): ... print(item["image"].shape, item["image"].dtype) ... break (40, 60, 3) uint8 >>> >>> # Use the transform in eager mode >>> data = np.random.randint(0, 255, size=(100, 100, 3)).astype(np.uint8) >>> output = vision.RandomResize(10)(data) >>> print(output.shape, output.dtype) (10, 10, 3) uint8
- Tutorial Examples: