總共分成四大類:
- 剪裁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)
功能:對圖片進行上下左右以及中心裁剪,然後全部翻轉(水平或者垂直,總共獲得十張圖片)