常见的transforms

from torch.utils.tensorboard import SummaryWriter
from PIL import Image
from torchvision import transforms

# 将图片转换成tensor
img = Image.open("hymenoptera_data/train/ants/0013035.jpg")
trans2tensor = transforms.ToTensor()
img2tensor = trans2tensor(img)

writer = SummaryWriter("logs")
writer.add_image("img2tensor", img2tensor, 1)

# 归一化
trans2norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
img2norm = trans2norm(img2tensor)
writer.add_image("img2norm", img2norm, 1)

writer.close()

Normalize是transforms的一个类,其中它的构造方法主要是输入每个图片每个channel的均值和方差,第一个[0.5,0.5,0.5]分别表示三个通道的均值,第二个[0.5,0.5,0.5]分别表示三个通道的方差,然后给输入一个tensor变量,就返回了一个归一化后的tensor。

# Resize的使用
trans2resize = transforms.Resize((512, 512))
img2resize = trans2resize(img)
img2resize2tensor = trans2tensor(img2resize)
writer.add_image("img2resize", img2resize2tensor, 1)

Resize是transforms关于变换图片尺寸的一个类,具体使用方法如代码

# Compose的用法
trans22resize = transforms.Resize(512)
trans2compose = transforms.Compose([trans22resize, trans2tensor])
img22resize = trans2compose(img)
writer.add_image("img2resize", img22resize, 2)

Compose是transforms的一个类,它的参数是一个关于transforms类型的一个列表,其主要作用就是将对图片的各种操作进行一个组合。可以节省代码块

# random_crop的用法
trans2random = transforms.RandomCrop((500, 400))
trans22compose = transforms.Compose([trans2random, trans2tensor])
for i in range(10):
    img2random = trans22compose(img)
    writer.add_image("img2random", img2random, i)

randomcrop是一个随机裁剪的类,对一个图片进行随机裁剪,用法如上。

小结:

        关注输入输出类型

        看看方法需要什么参数

        多看官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值