pytorch学习笔记----transforms 的使用

transforms的作用:可以使用的这个模块对图像进行一些预处理操作。

1.导入工具模块

from torchvision import transforms #使用transform 对图像进行变化

2.transfrom中ToTensor()的使用:这个模块的主要作用主要就是将       PIL或者numpy.ndarry的图像类型转变成tensor的类型格式

transform_totensor = transforms.ToTensor()#用tensor_tans接收ToTensor对象
tensor_img = transform_totensor(img)#将img转变成tensoe格式,直接调用了内置call方法
print(tensor_img[0][0])#展示tensor 格式的第一层第一行向量

3.Normalize:将图片进行归一化,归一化的好处有很多比如有的图片特征之间差异性很大,我们可以使用这种方法让图片变得归一化之后便于训练

trans_norm = transforms.Normalize([1,2,3],[3,2,1])#将Normalize类传入方差进行初始化并且赋给对象,因为是RGB三通道的
norm_img = trans_norm(tensor_img)#进行归一化操作,这里默认直接利用参数调用了内置forward方法
print(norm_img[0][0])#展示归一化图片的第一层和第一行向量

4.Resize:输入一张图片,将图片转变为指定的大小。如果只传入一个参数,就将最小边变成size,最大边等比例变成原来最小边的倍数

transform_resize = transforms.Resize((512,512))#输入一张图片,将图片转变为指定的大小
resize_img = transform_resize(img)
transform_conpose = transforms.Compose([transform_resize,transform_totensor])#Compose 是把多个对图像处理的包整合在一起,这种方式也叫流水线,更加清晰明了
imageresize2 = transform_conpose(resize_img)

5.RandomCrop:对图片进行指定裁剪,不会进行等比例变化。

#randomcrop#对输入的一张图片进行随机裁剪,裁剪大小的高和宽只设置为自己想要的
transform_randomcrop = transforms.RandomCrop(520,520)

#随机裁剪10次
for i in range (10):
    transform_conpose2 = transforms.Compose([transform_randomcrop,transform_totensor])
    randomcrop_img = transform_conpose2(img)
    writer.add_image("randomcrop_img",randomcrop_img,i)

6.Compose:流水线的工作方式,对参数中的transform进行遍历,知道遍历到参数中的最后一个transform 。这种方式还是简洁明了

transform_conpose2 = transforms.Compose([transform_randomcrop,transform_totensor])

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值