PyTorch学习笔记(二)图像数据增强
1.8 仿射变换和线性变换
RandomAffine 类,对图像进行放射变换
放射变换是二维的线性变换,由旋转、平移、缩放、错切、翻转五种基本变换构成
from PIL import Image
from torchvision.transforms import RandomAffine
image = Image.open('Lenna.jpg')
random_affine = RandomAffine(
degrees=45, # 旋转的角度,同 RandomRotation 中的 degrees 设置
translate=(0.5, 0.5), # 平移区间设置,传入 (a, b) ,a 设置宽,b 设置高,
# 图像在宽的维度平移的区间为 -img.width * a < dx < img_width * a
scale=None, # 缩放比例
shear=None, # 设置错切角度,有水平错切和垂直错切,若为 a,则仅在 x 轴错切,错切角度在 (-a, a);
# 若为 (a, b),则 a 设置 x 轴角度,b 设置 y 轴角度;
# 若为 (a, b, c, d),则 x 轴角度为 (a, b),y 轴角度为 (c, d)
resample=False, # PIL.Image.NEAREST, PIL.Image.BILINEAR, PIL.Image.BICUBIC
fillcolor=0 # 设置填充颜色
)
# RandomAffine 中并没有翻转相关的设置
random_affine(image).show()