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

發佈了76 篇原創文章 · 獲贊 8 · 訪問量 7364
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章