mindspore.dataset.vision.RandomAffine

class mindspore.dataset.vision.RandomAffine(degrees, translate=None, scale=None, shear=None, resample=Inter.NEAREST, fill_value=0)[source]

Apply Random affine transformation to the input image.

Parameters
  • degrees (Union[int, float, sequence]) – Range of the rotation degrees. If degrees is a number, the range will be (-degrees, degrees). If degrees is a sequence, it should be (min, max).

  • translate (sequence, optional) – Sequence (tx_min, tx_max, ty_min, ty_max) of minimum/maximum translation in x(horizontal) and y(vertical) directions, range [-1.0, 1.0]. Default: None. The horizontal and vertical shift is selected randomly from the range: (tx_min*width, tx_max*width) and (ty_min*height, ty_max*height), respectively. If a tuple or list of size 2, then a translate parallel to the X axis in the range of (translate[0], translate[1]) is applied. If a tuple or list of size 4, then a translate parallel to the X axis in the range of (translate[0], translate[1]) and a translate parallel to the Y axis in the range of (translate[2], translate[3]) are applied. If None, no translation is applied.

  • scale (sequence, optional) – Scaling factor interval, which must be non negative. Default: None, original scale is used.

  • shear (Union[float, Sequence[float, float], Sequence[float, float, float, float]], optional) – Range of shear factor to select from. If float is provided, a shearing parallel to X axis with a factor selected from ( -shear , shear ) will be applied. If Sequence[float, float] is provided, a shearing parallel to X axis with a factor selected from ( shear [0], shear [1]) will be applied. If Sequence[float, float, float, float] is provided, a shearing parallel to X axis with a factor selected from ( shear [0], shear [1]) and a shearing parallel to Y axis with a factor selected from ( shear [2], shear [3]) will be applied. Default: None, means no shearing.

  • resample (Inter, optional) –

    An optional resampling filter. Default: Inter.NEAREST. It can be any of [Inter.BILINEAR, Inter.NEAREST, Inter.BICUBIC, Inter.AREA].

    • Inter.BILINEAR, means resample method is bilinear interpolation.

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

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

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

  • fill_value (Union[int, tuple[int]], optional) – Optional fill_value to fill the area outside the transform in the output image. There must be three elements in tuple and the value of single element is [0, 255]. Default: 0, filling is performed.

Raises
Supported Platforms:

CPU

Examples

>>> from mindspore.dataset.vision import Inter
>>> decode_op = vision.Decode()
>>> random_affine_op = vision.RandomAffine(degrees=15,
...                                        translate=(-0.1, 0.1, 0, 0),
...                                        scale=(0.9, 1.1),
...                                        resample=Inter.NEAREST)
>>> transforms_list = [decode_op, random_affine_op]
>>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
...                                                 input_columns=["image"])