Pytorch笔记--transforms的使用

一、transforms的结构和用法

transform主要是对图片进行变换,用到的是transforms.py文件中的类。可以将transforms.py文件比做一个工具箱,文件中的类就是一个个工具,通过工具可以将图片变换成我们需要的形式。

在使用中要特别注意的是:使用工具时 图片的输入和输出格式!

所以在不知道使用某个工具时图片的输入、输出格式,可以通过查阅transforms.py文件的官方文档

 

 二、常见的transforms

1.ToTensor

将图片格式转为tensor类型

输入:PIL 或者 ndarray

输出:tensor

 
trans_totensor = transforms.ToTensor()# 创建了一个ToTensor的工具
img_tensor = trans_totensor(img)# 使用这个工具
writer.add_image("ToTensor", img_tensor)
2.Normalize

对图像数据进行标准化处理,有助于模型更快收敛,提高模型的性能

具体理解参考文章http://t.csdnimg.cn/kZoz4

输入输出均为tensor类型

print(img_tensor[0][0][0])
trans_norm = transforms.Normalize([6, 3, 2], [9, 3, 5])# 工具
img_norm = trans_norm(img_tensor)
print(img_norm[0][0][0])
writer.add_image("Normalize", img_norm, 2)

 运行结果:

3.Resize

调整图片大小

输入:PIL 或者 ndarray

输出:不变

transforms.Resize(size) 括号中是一个整数,表示将图片的较短边缩放到指定长度size,同时保持长宽比

transforms.Resize([width,height]) 表示将图片的宽度和高度调整到指定尺寸

print(img.size)# 打印图片原始尺寸
trans_resize = transforms.Resize((512, 512))# 创建工具,指定图片缩放大小为[512,512]
img_resize = trans_resize(img)
img_resize = trans_totensor(img_resize)
writer.add_image("Resize", img_resize, 0)
print(img_resize)

4.Compose

将多个步骤整合到一起

以使用Resize工具为例:

trans_resize_2 = transforms.Resize(512)# 创建一个Resize工具
# PIL -> PIL -> tensor
trans_compose = transforms.Compose([trans_resize_2, trans_totensor]) # 将两个工具整合到一起
img_resize_2 = trans_compose(img)
writer.add_image("Resize", img_resize_2, 1)
5.RandomCrop

对图片进行随机裁剪

transforms.RandomCrop(size) 按照[size,size]的尺寸裁剪图片

transforms.RandomCrop([width,height]) 按照[width,height]的尺寸裁剪图片

trans_random = transforms.RandomCrop(512)
trans_compose_2 = transforms.Compose([trans_random, trans_totensor])
for i in range(10):
    img_crop = trans_compose_2(img)
    writer.add_image("RandomCrop", img_crop, i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mikko_6214

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值