1. 程式人生 > 程式設計 >Pytoch之torchvision.transforms影象變換例項

Pytoch之torchvision.transforms影象變換例項

transforms.CenterCrop(size)

將給定的PIL.Image進行中心切割,得到給定的size,size可以是tuple,(target_height,target_width)。size也可以是一個Integer,在這種情況下,切出來的圖片的形狀是正方形。

size可以為int,也可以為float

#定義中心切割
centerCrop = transforms.CenterCrop((img.size[0]/2,img.size[1]/2))
imgccrop = centerCrop(img)
 
transforms.RandomCrop(size,padding=0)

切割中心點的位置隨機選取。size可以是tuple也可以是Integer。

但是如果是Tuple,只能是int型的不能是float

#要求目標size必須為整數
randomCrop1 = transforms.RandomCrop((int(img.size[0]/2),int(img.size[1]/2))) #padding預設為False
randomCrop2 = transforms.RandomCrop((int(img.size[0]/2),int(img.size[1]/2)),padding=10)
 
 
imgrcrop1 = randomCrop1(img)
imgrcrop2 = randomCrop2(img)
 

transforms.RandomHorizontalFlip

隨機水平翻轉給定的PIL.Image,概率為0.5。即:一半的概率翻轉,一半的概率不翻轉。

#隨機將圖片旋轉180°
randomFlip = transforms.RandomHorizontalFlip()
 
imgf = randomFlip(img)

transforms.RandomSizedCrop(size,interpolation=2)

先將給定的PIL.Image隨機切,然後再resize成給定的size大小。

size只能是Int,不能是float或tuple

#引數需為一個整數,不能是float或者tuple
randomcut = transforms.RandomResizedCrop(100)
imgc = randomcut(img)

transforms.Pad(padding,fill=0)

將給定的PIL.Image的所有邊用給定的pad value填充。 padding:要填充多少畫素fill

可以用於給圖片加邊框2333

#加邊界框
pad = transforms.Pad(padding=10,fill=0)
pad_img = pad(img)
pad_img.save("block.jpg")

以上這篇Pytoch之torchvision.transforms影象變換例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。