PIL数据
from PIL import Image
image_PIL = Image.open(image.path)
2.Compose
作用:组合几个transforms变换,按照参数操作
参数:需要是一个列表,python中,列表的表示形式为[数据1,数据2,...],在compose中数据需要的是transforms类型,所以得到Compose([transforms参数1,transforms参2...])
#传入PIL类型,经过Transforms类型参数1:trans_resize_2,实现缩放,经过Transforms类型参数2:trans_totensor实现将PIL类型转为tensor类型
trans_compose=transforms.Compose([trans_resize_2,trans_totensor])#输入为PIL类型
img_resize_2=trans_compose(img)
3Resize
作用:将输入图像的大小调整到给定大小输出
视频讲的该类使用时输入图片类型仅能是PIL类型,目前输入类型PIL,tensor都可以
但add_image参数类型仅能是tensor或numpy类型不能是PIL类型
参数为单一数据或元组
如果 size 是 int,则图像的较小边缘将与此数字匹配。
trans_resize=transforms.Resize((512,512))#类实例化
img_resize=trans_resize(img)#调整大小
4.Totensor
作用:将PIL类型或numpy类型的图片转换为tensor类型的图片
5.Normalize
transN = transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
tr_im = transN(img)
作用:用均值和标准差归一化一个tensor类型的图片
计算方式:output[channel] = (input[channel] - mean[channel]) / std[channel]
6.RandomCrop
作用:裁剪给定图像 需要输入PIL格式图片
参数:size 希望裁剪输出的大小 如果是int类型 进行正方形裁剪,如果是像 (h, w)这样的序列,按照 (h, w)裁剪
trans_random=transforms.RandomCrop(512)#进行正方形裁剪,按照512*512
trans_random2=transforms.RandomCrop((500,1000))#进行长方形裁剪 500*1000