【从零学习PyTorch】 transfrom之五种Crop裁剪的方法


总共分成四大类:

  • 剪裁Crop
  • 翻转旋转Flip and Rotation
  • 图像变换
  • 对transform的操作

Crop

随机裁剪

class torchvision.transforms.RandomCrop(size,padding=None,pad_if_need=False,fill=0,padding_mode='constant')

依据给定size随机剪裁:
size:要么是(h,w),若是一个int,就是(size,size)
padding:填充多少pixel。要是一个数,就是上下左右都填充这么多;要是两个数,第一个数就是左右扩充多少,第二个数是上下扩充多少,要是四个数就是 左上右下
fill:填充的值是什么(仅当填充模式是constant的时候有用)。如果是一个数字,就表示各个通道都填充这个数组,如果是3元tuple,就是RGB三个通道分别填充多少
padding_mode:填充模式,有四种模式。
1,constant,常量
2,edge。按照图片边缘像素值填充
3,reflect和sysmetric还不了解

中心裁剪

class torchvision.transforms.CenterCrop(size)
依据跟定的size,从中心进行裁剪

随机长宽比裁剪

class torchvision.transforms.RandomResizedCrop(size,scale=(0.08,1.0),ratio=(0.75,1.33),interpolation=2)
功能:随机大小,随机长宽裁剪原始照片,最后将照片resize到设定好的size
参数:
size:输出的分辨率,就是输出的大小
scale:随机剪裁的大小区间,上体来说,crop出来的图片会在0.08倍到1倍之间
ratio:随机长宽比设置
interpolation:插值的方法。

上下左右中心裁剪

class torchvision.transforms.FiveCrop(size)
功能:对图片进行上下左右以及中心的裁剪,获得五张图片,返回一个4D的tensor。

上下左右中心裁剪后翻转

class torchvision.transforms.TenCrop(size,vertical_flip=False)
功能:对图片进行上下左右以及中心裁剪,然后全部翻转(水平或者垂直,总共获得十张图片)

发布了78 篇原创文章 · 获赞 14 · 访问量 9718

猜你喜欢

转载自blog.csdn.net/qq_34107425/article/details/104129996