mindspore.dataset.vision.c_transforms.SoftDvppDecodeRandomCropResizeJpeg
- class mindspore.dataset.vision.c_transforms.SoftDvppDecodeRandomCropResizeJpeg(size, scale=(0.08, 1.0), ratio=(3.0 / 4.0, 4.0 / 3.0), max_attempts=10)[源代码]
使用Ascend系列芯片DVPP模块的模拟算法对JPEG图像进行裁剪、解码和缩放。 使用场景与数据增强算子
mindspore.dataset.vision.c_transforms.SoftDvppDecodeResizeJpeg
一致。输入图像尺寸大小应在 [32*32, 8192*8192] 范围内。图像长度和宽度的缩小和放大倍数应在 [1/32, 16] 范围内。使用该算子只能输出具有均匀分辨率的图像,不支持奇数分辨率的输出。参数:
size (Union[int, Sequence[int]]) - 输出图像的尺寸大小。如果 size 是整型,则返回尺寸大小为 (size, size) 的正方形图像。如果 size 是一个长度为2的序列,则以2个元素分别为高和宽放缩至(高度, 宽度)大小。
scale (Union[list, tuple], 可选) - 裁剪子图的尺寸大小相对原图比例的随机选取范围,需要在[min, max)区间,默认值:(0.08, 1.0)。
ratio (Union[list, tuple], 可选) - 裁剪子图的宽高比的随机选取范围,需要在[min, max)区间,默认值:(3./4., 4./3.)。
max_attempts (int, 可选) - 生成随机裁剪位置的最大尝试次数,超过该次数时将使用中心裁剪, max_attempts 值必须为正数,默认值:10。
异常:
TypeError - 当 size 不是int或不是Sequence[int]类型。
TypeError - 当 scale 不是tuple或list类型。
TypeError - 当 ratio 不是tuple或list类型。
TypeError - 当 max_attempts 不是int类型。
ValueError - 当 size 不为正数。
ValueError - 当 scale 是负数。
ValueError - 当 ratio 是负数。
ValueError - 当 max_attempts 不为正数。
RuntimeError - 如果输入的Tensor不是一个一维序列。
- 支持平台:
CPU
样例:
>>> # decode, randomly crop and resize image, keeping aspect ratio >>> transforms_list1 = [c_vision.SoftDvppDecodeRandomCropResizeJpeg(90)] >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list1, ... input_columns=["image"]) >>> # decode, randomly crop and resize to landscape style >>> transforms_list2 = [c_vision.SoftDvppDecodeRandomCropResizeJpeg((80, 100))] >>> image_folder_dataset_1 = image_folder_dataset_1.map(operations=transforms_list2, ... input_columns=["image"])