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使用PyFetion来发送短信的例子

通过PyFetion可以很方便的使用python来用飞信发送短信,下面贴出代码:复制代码 代码如下:from fetion import *import osdef SendSMS(sm...

对python操作kafka写入json数据的简单demo分享

如下所示: 安装kafka支持库pip install kafka-python from kafka import KafkaProducer import json...

Python yield 使用浅析

初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要...

python使用threading获取线程函数返回值的实现方法

threading用于提供线程相关的操作,线程是应用程序中工作的最小单元。python当前版本的多线程库没有实现优先级、线程组,线程也不能被停止、暂停、恢复、中断。 threading模...

浅谈Python用QQ邮箱发送邮件时授权码的问题

浅谈Python用QQ邮箱发送邮件时授权码的问题

QQ邮箱最新推出了一个授权码,需已验证的手机号向QQ邮箱服务器发送一条短信获得。该授权码用于第三方客户端登录,代替了第三方登录时使用的个人邮箱密码。 在测试过程中遇到两个问题: 1.提示...