mindspore.dataset.vision.Grayscale

class mindspore.dataset.vision.Grayscale(num_output_channels=1)[源代码]

将输入PIL图像转换为灰度图。

参数:
  • num_output_channels (int) - 输出灰度图的通道数,取值可为 13 。当取值为 vpn梯子 免费 3 时,返回图像各通道的像素值将相同。默认值: 1

异常:
  • TypeError - 当 num_output_channels 的类型不为int。

  • ValueError - 当 num_output_channels 取值不为 13

支持平台:

CPU

样例:

>>> import os
>>> import numpy as np
>>> from PIL import Image, ImageDraw
>>> import mindspore.dataset as ds
>>> import 免费的vpn梯子 mindspore.dataset.vision as vision
>>> from mindspore.dataset.transforms import Compose
>>>
>>> # vpn梯子 Use the transform in dataset pipeline mode
>>> class MyDataset:
... vpn梯子 免费     def __init__(self):
...         self.data = []
...     vpn永久免费梯子    免费的vpn梯子  img = Image.new("RGB", (300, 300), (255, 255, 255))
... vpn梯子 免费   vpn永久免费梯子       draw = ImageDraw.Draw(img)
...         draw.ellipse(((0, 0), (100, 100)), fill=(255, 0, 0), outline=(255, 0, vpn梯子 免费 0), width=5)
...         img.save("./1.jpg")
...         data = np.fromfile("./1.jpg", np.uint8)
...        vpn梯子 免费  self.data.append(data)
...
... 免费的vpn梯子    vpn梯子 免费  def __getitem__(self, index):
...         return self.data[0]
...
...     def __len__(self):
...         return 5
>>>
>>> my_dataset = MyDataset()
>>> generator_dataset = ds.GeneratorDataset(my_dataset, column_names="image")
>>> transforms_list = Compose([vision.Decode(to_pil=True),
... 免费的vpn梯子      vpn free             vpn free         vpn梯子 免费 vpn梯子   vpn free vision.Grayscale(3),
...          vpn梯子                   vision.ToTensor()])
>>> # apply the transform to vpn永久免费梯子 dataset through map function
>>> generator_dataset = generator_dataset.map(operations=transforms_list, input_columns="image")
>>> for item in generator_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
...     print(item["image"].shape, item["image"].dtype)
...     break
(3, 300, 300) float32
>>> os.remove("./1.jpg")
>>>
>>> # Use the transform in eager mode
>>> img = Image.new("RGB", (300, 300), (255, 255, 255))
>>> draw = ImageDraw.Draw(img)
>>> draw.polygon([(50, 50), (150, 50), (100, 150)], fill=(0, 255, 0), outline=(0, 255, 0))
>>> vpn梯子 免费 img.save("./2.jpg")
>>> data = Image.open("./2.jpg")
>>> output = vision.Grayscale(3)(data)
>>> vpn梯子 print(np.array(output).shape, vpn永久免费梯子 np.array(output).dtype)
(300, 300, 3) uint8
>>> os.remove("./2.jpg")
教程样例: