pytorch基础(七)------------transforms图像增强(一)

一、数据增强

概念:数据增强又称为数据增广,它是对训练集进行变换,是训练集更丰富,从而让模型更具有泛化能力
注意:以下方法都是作用在transforms.Compose([ ])中的。

二、transforms-----裁剪

1、transforms.CenterCrop(size)
功能:从图像中心裁剪图片
参数:
size:所需裁剪的图片尺寸
2、transforms.RandomCrop(size,padding=None,pad_if_needed=False,fill=0,padding_mode=‘constant’)
功能:从图片中随机裁剪出尺寸为size的图片
参数:
size:所需裁剪的图片尺寸
padding:设置填充大小,当为a时,上下左右均填充a个像素;当为(a,b)时,上下填充b个像素,左右填充a个像素;当为(a,b,c,d)时,左、上、右、下分别填充a、b、c、d个像素
pad_if_needed:若图像小于设定size,则填充
fill:padding_mode为constant时,设置填充的像素值
padding_mode:填充模式,共有四种
    1、constant:像素值由fill设定
    2、edge:像素值由图像边缘设定
    3、reflect:镜像填充,最后一个像素不镜像。eg:对[1,2,3,4]的边缘进行两个像素的填充 -> [3,2,1,2,3,4,3,2]
    4、symmetric:镜像填充,最后一个像素镜像。eg:[1,2,3,4] -> [2,1,1,2,3,4,4,3]
3、transforms.RandomResizeCrop(size, scale=(0…8, 1.0), ratio=(3/4, 4/3), interpolation)
功能:随机大小、长宽比裁剪图片
size:所需裁剪图像的尺寸
scale:随机裁剪面积比例,默认(0.08,1)
ratio:随机长宽比,默认(3/4, 4/3)
interpolation:插值方法
4、transforms.FiveCrop(size)
功能:在图像的上下左右以及中心裁剪出尺寸为size的5张图片
5、transforms.TenCrop(size, vertical_flip=False)
功能:对上面裁剪出的5张图片的基础上进行水平或者垂直镜像获得10张图片
参数:vertical_flip:是否垂直翻转

三、transforms-----翻转和旋转

1、transforms.RandomHorizontalFlip(p=0.5)
功能:依概率水平翻转图片
2、transforms.RandomVerticalFlip(p=0.5)
功能:依概率垂直翻转图片
参数:p:翻转概率(默认有百分之五十的概率被翻转)
3、transforms.RandomRotation(degrees, resample=False, expand=False, center=None)
功能:随机旋转图片
参数:
degress:旋转角度,当为a时,在(-a,a)之间选择旋转角度;当为(a,b)时,在(a,b)之间选择旋转角度
resample:重采样方法
expand:是否扩大图片,以保证原图信息,它只针对以中心作为旋转中心的情况
center:旋转点设置,默认中心旋转。例如:设置为(0,0)就是以左上角为旋转中心

你可能感兴趣的:(计算机视觉,pytorch,深度学习)