pytorch 彩色图像转灰度图像实例

yipeiwu_com5年前Python基础

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

以上这篇pytorch 彩色图像转灰度图像实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

跟老齐学Python之dict()的操作方法

dict的很多方法跟list有类似的地方,下面一一道来,并且会跟list做一个对比 嵌套 嵌套在list中也存在,就是元素是list,在dict中,也有类似的样式: >>...

python中__call__内置函数用法实例

本文实例讲述了python中__call__内置函数的用法。分享给大家供大家参考。具体分析如下: 对象通过提供__call__(slef, [,*args [,**kwargs]])方法...

Python实现进程同步和通信的方法

Python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessi...

简述Python2与Python3的不同点

在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参...

Python列表推导式、字典推导式与集合推导式用法实例分析

本文实例讲述了Python列表推导式、字典推导式与集合推导式用法。分享给大家供大家参考,具体如下: 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式...