mindspore.dataset.vision.RandomPosterize
- class mindspore.dataset.vision.RandomPosterize(bits=(8, 8))[源代码]
随机减少图像的颜色通道的比特位数,使图像变得高对比度和颜色鲜艳。
- 参数:
bits (Union[int, Sequence[int]], 可选) - 随机位数压缩的范围。位值必须在 [1,8] 范围内,并且在给定范围内至少包含一个整数值。它必须是 (min, max) 或整数格式。 如果min与max相等,那么它是一个单一的位数压缩操作。默认值:
(8, 8)
。
- 异常:
TypeError - 如果 bits 不是int或Sequence[int]类型。
ValueError - 如果 bits 不在 [1, 8] 范围内。
RuntimeError - 如果输入图像的shape不是 <H, W> 或 <H, W, C>。
- 支持平台:
CPU
样例:
>>> 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"]) >>> transforms_list = [vision.RandomPosterize((6, 8))] >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms_list, 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 (100, 100, 3) uint8 >>> >>> # Use the transform in eager mode >>> data = np.random.randint(0, 255, size=(100, 100, 3)).astype(np.uint8) >>> output = vision.RandomPosterize(1)(data) >>> print(output.shape, output.dtype) (100, 100, 3) uint8
- 教程样例: