mindspore.dataset.vision.AdjustGamma

查看源文件
class mindspore.dataset.vision.AdjustGamma(gamma, gain=1)[源代码]

对输入图像应用伽马校正。输入图片shape应该为 <…, H, W, C>或<H, W>。

\[I_{\text{out}} = 255 \times \text{gain} \times \left(\frac{I_{\text{in}}}{255}\right)^{\gamma}\]

更多详细信息,请参见 Gamma矫正

参数:
  • gamma (float) - 非负实数。输出图像像素值与输入图像像素值呈指数相关。 gamma 大于 1 使阴影更暗,而 gamma 小于 1 使黑暗区域更亮。

  • gain (float, 可选) - 常数乘数。默认值: 1.0

异常:
  • TypeError - 如果 gain 不是浮点类型。

  • TypeError - 如果 gamma 不是浮点类型。

  • ValueError - 如果 gamma 小于0。

  • RuntimeError - 如果给定的张量形状不是<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.AdjustGamma(gamma=10.0, gain=1.0)]
>>> 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.AdjustGamma(gamma=0.1, gain=1.0)(data)
>>> print(output.shape, output.dtype)
(2, 2, 3) uint8
教程样例: