pytorch 彩色图像转灰度图像

pytorch 彩色图像转灰度图像

pytorch 库

pytorch 本身具有载入cifar10等数据集的函数,但是载入的是3*200*200的张量,当碰到要使用灰度图像时,可以使用他本身的函数进行修改,以较快速的完成彩色图像转灰度图像

pytorch函数

dataset = dset.CIFAR10(root='../train/data', download=True,transform=transforms.Compose([
                               transforms.Scale(200),
                               transforms.ToTensor(),
                               transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
                           ]))

这里包含了对图像进行的一些处理,尺寸的控制,Normalize等

修改pytorch 库函数

找到transforms 的库函数位置,在后面添加 类 Gray()

class Gray(object)

    def __call__(self, tensor):
        # TODO: make efficient
        R = tensor[0]
        G = tensor[1]
        B = tensor[2]
        tensor[0]=0.299*R+0.587*G+0.114*B
        tensor = tensor[0]
        tensor = tensor.view(1,200,200)
        return tensor

tensor.view 这里使用是为了将tensor 做成 1*200*200的大小,否则出来是200*200

你可能感兴趣的:(python)