前言
Transforms是处理图片的一些方法。
一、头文件
二、把图片转化成tensor型
代码:
img_path="dataset/train/ants_image/0013035.jpg"
img=Image.open(img_path)
writer=SummaryWriter("logs")
tensor_trans=transforms.ToTensor()
tensor_img=tensor_trans(img)
其中:
tensor_trans=transforms.ToTensor()
可将原本的图片转换为矩阵类型,方便后面对图片的处理
三、Normalize是什么?
1、作用:
对图片的每个信道的进行归一化处理,输出一个标准差。
2、使用方法:
①参数:需输入2个参数,均值与标准差
②代码:
trans_norm=transforms.Normalize([0.5,0.5,0.5],[0.6,0.6,0.6])
img_norm=trans_norm(img_tensor)
其中:
因为图片有三个信道,使用需要[0.5,0.5,0.5]
的形式进行参数输入。
四、Resize是什么?
1、作用:
改变图片大小
2、代码:
trans_resize=transforms.Resize((512,512))
img_resize=trans_resize(img_tensor)
其中:
trans_resize=transforms.Resize((512,512))
中的(512,512)
是新尺寸,当(512,512)
写成(512)
时就是等比缩放,长宽比例不变,只改变大小。
五、Compose是什么?
1、作用:
组合技,先干1再干2…再干n。
2、怎么用?
trans_resize_2=transforms.Resize(512)
trans_compose=transforms.Compose([trans_resize_2,tensor_trans])
img_resize_2=trans_compose(img)
其中:
trans_compose=transforms.Compose([trans_resize_2,tensor_trans])
Compose中的参数得是这种形式:Compose([transforms参数1,transforms参数2,transforms参数3,...,transforms参数n])
,意思是:先干1再干2…再干n。
六、RandomCrop是什么?
1、作用:
对图片进行随机的裁剪。
2、怎么用?
代码:
trans_randomcrop=transforms.RandomCrop((500,1000))
trans_compose_2=transforms.Compose([trans_randomcrop,tensor_trans])
其中:
(500,1000)
的500
是宽,1000
是长。可类比resize
使用。