【学习记录】生成的灰度图在使用dataset.ImageFolder后为什么变成了三通道??

一、问题描述

遇到一个很奇怪的事情,我命名保存的是灰度图格式,但是使用torchvision.dataset.ImageFolder读取图片后变成了三通道,灰度图按理说应该是单通道才对。

二、原因

在使用torchvision.dataset.ImageFolder 时,会用到transform ,这个东西默认是 RGB 图片,因此对于单通道的灰度图,他会自动复制三份,做成一个[3, W, H]的模式,然后再交给 ImageFolder 返回。

三、如果我确实要使用单通道的灰度图怎么办

在使用 transform 的时候,加入:transform = transforms.Compose([transforms.Grayscale(num_output_channels = 1)])
再来输出试试:注意要使用print(image[0][0][0])

在这里插入图片描述
可以看到,这是一个单通道矩阵张量,这样就可以使用灰度图操作了。以前用的都是彩色图,没注意过这个事情。。。。。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值