PyTorch 的数据处理模块是 torchvision.transform,只对 PIL.Image 或维度为 (H, W, C) 的图片数据进行数据预处理。由于 OpenCV 读入图片的数据维度是 (H, W, C),所以不能直接使用 torchvision.transform 处理 OpenCV 的图片数据。
1. class torchvision.transforms.Compose(transforms)
输入一个 transform 列表,将多个 transform 组合使用。
2. class torchvision.transforms.Scale(size, interpolation=2)
将输入的 PIL.Image 重新改变大小成给定的 size,其中 size 是最小边长。举一个例子,如果原图的 height > width,那么改变大小后的图片大小是 (size*height/width, size)。
3. class torchvision.transforms.CenterCrop(size)
将给定的 PIL.Image 进行中心切割,得到给定的 size,size 可以是 tuple (target_height, target_width)。size 也可以是一个 Integer,在这种情况下,切出来的图片形状是正方形。
4. class torchvision.transforms.RandomCrop(size, padding=0)
切割中心点的位置随机选取。size 可以是 tuple 也可以是 Integer。
5. class torchvision.transforms.RandomHorizontalF