此程式碼示範了 torchvision 中的 RandomAffine
轉換。 它探索了各種參數組合,展示了其影像旋轉、平移、縮放和剪切的功能。 使用 matplotlib 將結果視覺化。
RandomAffine
變換允許二維和三維影像變換。 關鍵參數包括:
degrees
: 指定旋轉角度。 單一浮點數值表示對稱範圍[-度,度數]。兩個浮點數的元組/列表定義不對稱範圍 [min, max]。
translate
: 控制翻譯。 兩個浮點數 [a, b] 的元組/列表分別表示水平和垂直移位,作為影像寬度和高度的分數。
scale
: 定義縮放範圍 [min, max]。
shear
: 引入剪切。單一浮點值意味著 x 的對稱剪切範圍 [-shear,剪切],其中 y 剪切設定為 0。兩個浮點的元組/列表指定 x 剪切範圍;四元素元組/列表定義 x 和 y 剪切範圍。
interpolation
: 指定插值方法(例如 InterpolationMode.NEAREST
)。
fill
: 決定變換影像外部區域的填滿色彩。 可以是單一值或表示 RGB 值的元組/列表。
center
: 設定旋轉中心。
程式碼系統地測試了不同的參數設置,包括極值,以演示各種條件下變換的行為。 視覺化清楚地顯示了每個參數對輸入影像的影響。兩個 show_images
函數提供相同的功能,一個直接在繪圖循環內套用變換,另一個預先計算變換。
下方顯示的影像直觀地代表了應用於 OxfordIIITPet 資料集影像的各種 RandomAffine
轉換的輸出。
以上是PyTorch 中的隨機仿射的詳細內容。更多資訊請關注PHP中文網其他相關文章!