mindspore.dataset.vision.AutoContrast

View Source On Gitee
class mindspore.dataset.vision.AutoContrast(cutoff=0.0, ignore=None)[source]

Apply automatic contrast on input image. This operation calculates histogram of image, reassign cutoff percent of the lightest pixels from histogram to 255, and reassign cutoff percent of the darkest pixels from histogram to 0.

Parameters
  • cutoff (float, optional) – Percent of lightest and darkest pixels to cut off from the histogram of input image. The value must be in the range [0.0, 50.0]. Default: 0.0.

  • ignore (Union[int, sequence], optional) – The background pixel values to ignore, The ignore values must be in range [0, 255]. Default: None.

Raises
  • TypeError – If cutoff is not of type float.

  • TypeError – If ignore is not of type int or sequence.

  • ValueError – If cutoff is not in range [0, 50.0).

  • ValueError – If ignore is not in range [0, 255].

  • 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"])
>>> transforms_list = [vision.AutoContrast(cutoff=10.0, ignore=[10, 20])]
>>> 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.array([[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]], dtype=np.uint8).reshape((2, 2, 3))
>>> output = vision.AutoContrast(cutoff=10.0, ignore=[10, 20])(data)
>>> print(output.shape, output.dtype)
(2, 2, 3) uint8
Tutorial Examples: