二、翻轉和旋轉——flip and rotation
三、影象變換
四、對transforms操作,使資料增強更靈活
裁剪——crop
中心裁剪:transforms.centercrop
隨機裁剪:transforms.randomcrop
隨機長寬比裁剪:transforms.randomresizedcrop
上下左右中心裁剪:transforms.fivecrop
上下左右中心裁剪後翻轉,transforms.tencrop
翻轉和旋轉——flip and rotation
依概率p水平翻**transforms.randomhorizontalflip(p=0.5)
依概率p垂直翻**transforms.randomverticalflip(p=0.5)
隨機旋**transforms.randomrotation
class torchvision.transforms.randomcrop(size, padding=none, pad_if_needed=false, fill=0, padding_mode=『constant』)
功能:依據給定的size隨機裁剪
引數:size- (sequence or int),若為sequence,則為(h,w),若為int,則(size,size)
padding-(sequence or int, optional),此引數是設定填充多少個pixel。
當為int時,影象上下左右均填充int個,例如padding=4,則上下左右均填充4個pixel,若為3232,則會變成4040。
當為sequence時,若有2個數,則第乙個數表示左右擴充多少,第二個數表示上下的。當有4個數時,則為左,上,右,下。
fill- (int or tuple) 填充的值是什麼(僅當填充模式為constant時有用)。int時,各通道均填充該值,當長度為3的tuple時,表示rgb通道需要填充的值。
padding_mode- 填充模式,這裡提供了4種填充模式,1.constant,常量。2.edge 按照邊緣的畫素值來填充。3.reflect,暫不了解。 4. symmetric,暫不了解。
class torchvision.transforms.centercrop(size)
功能:依據給定的size從中心裁剪
引數:size- (sequence or int),若為sequence,則為(h,w),若為int,則(size,size)
class torchvision.transforms.randomresizedcrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=2)
功能:隨機大小,隨機長寬比裁剪原始,最後將resize到設定好的size
引數:size- 輸出的解析度
scale- 隨機crop的大小區間,如scale=(0.08, 1.0),表示隨機crop出來的會在的0.08倍至1倍之間。
ratio- 隨機長寬比設定
interpolation- 插值的方法,預設為雙線性插值(pil.image.bilinear)
class torchvision.transforms.fivecrop(size)
功能:對進行上下左右以及中心裁剪,獲得5張,返回乙個4d-tensor
引數:size- (sequence or int),若為sequence,則為(h,w),若為int,則(size,size)
class torchvision.transforms.tencrop(size, vertical_flip=false)
功能:對進行上下左右以及中心裁剪,然後全部翻轉(水平或者垂直),獲得10張,返回乙個4d-tensor。
引數:size- (sequence or int),若為sequence,則為(h,w),若為int,則(size,size)
vertical_flip (bool) - 是否垂直翻轉,預設為flase,即預設為水平翻轉
class torchvision.transforms.randomhorizontalflip(p=0.5)
功能:依據概率p對pil進行水平翻轉
引數:p- 概率,預設值為0.5
class torchvision.transforms.randomverticalflip(p=0.5)
功能:依據概率p對pil進行垂直翻轉
引數:p- 概率,預設值為0.5
class torchvision.transforms.randomrotation(degrees, resample=false, expand=false, center=none)
功能:依degrees隨機旋轉一定角度
引數:degress- (sequence or float or int) ,若為單個數,如 30,則表示在(-30,+30)之間隨機旋轉
若為sequence,如(30,60),則表示在30-60度之間隨機旋轉
resample- 重取樣方法選擇,可選 pil.image.nearest, pil.image.bilinear, pil.image.bicubic,預設為最近鄰
expand- ?
center- 可選為中心旋轉還是左上角旋轉
class torchvision.transforms.resize(size, interpolation=2)
功能:重置影象解析度
引數:size- if size is an int, if height > width, then image will be rescaled to (size * height / width, size),所以建議size設定為h*w
interpolation- 插值方法選擇,預設為pil.image.bilinear
class torchvision.transforms.normalize(mean, std)
功能:對資料按通道進行標準化,即先減均值,再除以標準差,注意是 hwc
class torchvision.transforms.totensor
功能:將pil image或者 ndarray 轉換為tensor,並且歸一化至[0-1]
注意事項:歸一化至[0-1]是直接除以255,若自己的ndarray資料尺度有變化,則需要自行修改。
class torchvision.transforms.pad(padding, fill=0, padding_mode=『constant』)
功能:對影象進行填充
引數:padding-(sequence or int, optional),此引數是設定填充多少個pixel。
當為int時,影象上下左右均填充int個,例如padding=4,則上下左右均填充4個pixel,若為3232,則會變成4040。
當為sequence時,若有2個數,則第乙個數表示左右擴充多少,第二個數表示上下的。當有4個數時,則為左,上,右,下。
fill- (int or tuple) 填充的值是什麼(僅當填充模式為constant時有用)。int時,各通道均填充該值,當長度為3的tuple時,表示rgb通道需要填充的值。
padding_mode- 填充模式,這裡提供了4種填充模式,1.constant,常量。2.edge 按照邊緣的畫素值來填充。3.reflect,? 4. symmetric,?
class torchvision.transforms.colorjitter(brightness=0, contrast=0, saturation=0, hue=0)
功能:修改修改亮度、對比度和飽和度
class torchvision.transforms.grayscale(num_output_channels=1)
功能:將轉換為灰度圖
引數:num_output_channels- (int) ,當為1時,正常的灰度圖,當為3時, 3 channel with r == g == b
class torchvision.transforms.lineartransformation(transformation_matrix)
功能:對矩陣做線性變化,可用於白化處理! whitening: zero-center the data, compute the data covariance matrix
引數:transformation_matrix (tensor) – tensor [d x d], d = c x h x w
class torchvision.transforms.randomaffine(degrees, translate=none, scale=none, shear=none, resample=false, fillcolor=0)
功能:仿射變換
class torchvision.transforms.randomgrayscale(p=0.1)
功能:依概率p將轉換為灰度圖,若通道數為3,則3 channel with r == g == b
class torchvision.transforms.topilimage(mode=none)
功能:將tensor 或者 ndarray的資料轉換為 pil image 型別資料
引數:mode- 為none時,為1通道, mode=3通道預設轉換為rgb,4通道預設轉換為rgba
pytorch不僅可設定對的操作,還可以對這些操作進行隨機選擇、組合
功能:從給定的一系列transforms中選乙個進行操作,randomly picked from a list
功能:給乙個transform加上概率,以一定的概率執行該操作
功能:將transforms中的操作順序隨機打亂
過度Transition與transform 轉換
過度transition css的transition允許css的屬性值在一定的時間區間內平滑的過渡 語法格式 transition 屬性名 時間 速度曲線 何時開始 transition width 2s ease in 2s webkit transition width 2s ease in ...
簡單粗暴的解釋css3中的transform屬性
事先說明,本文範疇尚限制在2d的transform中。對於css3的transform屬性,真是愛不釋手,有了這個特性,各種特效輕鬆搞定。引用一句歌詞 旋轉,跳躍,我不停歇 transform就是這麼時尚,就是這麼任性。當然他任性的地方不只是在功能方面,還有在使用方面。我們看一下w3c官網中關於tr...
Unity程式設計標準導引 3 3 Transform
每個遊戲物件 gameobject 其存在於遊戲世界,都有乙個位置 朝向 大小等基本定位資訊 其存於hierarchy面板,也存在與其他gameobject的相對關係,如父子關係 兄弟關係。unity中使用transform來描述和操作這些屬性。transform的字面理解就是 變換 的意思,所有的...