mindspore.dataset.vision.c_transforms.RandomAffine
- class mindspore.dataset.vision.c_transforms.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 (int or float or 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 (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 of 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 (default=None, original scale is used).
shear (int or float or sequence, optional) – Range of shear factor (default=None). If a number, then a shear parallel to the X axis in the range of (-shear, +shear) is applied. If a tuple or list of size 2, then a shear parallel to the X axis in the range of (shear[0], shear[1]) is applied. If a tuple of list of size 4, then a shear parallel to X axis in the range of (shear[0], shear[1]) and a shear parallel to Y axis in the range of (shear[2], shear[3]) is applied. If None, no shear is applied.
resample (Inter mode, optional) –
An optional resampling filter (default=Inter.NEAREST). It can be any of [Inter.BILINEAR, Inter.NEAREST, Inter.BICUBIC].
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.
fill_value (tuple or 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
ValueError – If degrees is negative.
ValueError – If translation value is not between -1 and 1.
ValueError – If scale is not positive.
ValueError – If shear is a number but is not positive.
TypeError – If degrees is not a number or a list or a tuple. If degrees is a list or tuple, its length is not 2.
TypeError – If translate is specified but is not list or a tuple of length 2 or 4.
TypeError – If scale is not a list or tuple of length 2.
TypeError – If shear is not a list or tuple of length 2 or 4.
TypeError – If fill_value is not a single integer or a 3-tuple.
Examples
>>> from mindspore.dataset.vision import Inter >>> decode_op = c_vision.Decode() >>> random_affine_op = c_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"])