transforms进行图像预处理,Compose将多个步骤整合一起执行
transforms_=transforms.Compose([
transforms.ToTensor(), # convert a PIL image to tensor (H*W*C) in range [0,255] to a torch.Tensor(C*H*W) in the range [0.0,1.0]
normalize, # 用均值和标准差归一化张量图像
])
这两个基本是必须的
- ToTensor功能是将 PIL Image 类型 或者numpy.ndarray类型的图片对象转换为 tensor类型。
- normalize 则归一化张量
其他方法:
1.中心裁剪:
transforms.CenterCrop:中心裁剪
transforms.RandomCrop:随机裁剪
transforms.RandomResizedCrop:随机长宽比裁剪
transforms.FiveCrop:上下左右中心裁剪
transforms.TenCrop:上下左右中心裁剪后翻转
2.翻转和旋转
transforms.RandomHorizontalFlip(p=0.5):依概率p pp水平翻转
transforms.RandomVerticalFlip(p=0.5):依概率p垂直翻转
transforms.RandomRotation:随机旋转。
3.图像变换
transforms.Resize : 图像变换(resize)
transforms.Normalize:标准化
transforms.ToTensor: 转为tensor,并归一化为[0-1]
transforms.Pad :。填充
transforms.ColorJitter:修改亮度、对比度和饱和度
transforms.Grayscale:转灰度图
transforms.LinearTransformation():线性变换
transforms.RandomAffine:放射变换
transforms.ToPILImage:将数据转换为PILImage
transforms.Lambda:Apply a user-defined lambda as a transform
transforms.RandomGrayscale:依概率p pp转为灰度图