此代码演示了 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中文网其他相关文章!