Shortcuts

弹性变换

class torchvision.transforms.ElasticTransform(alpha=50.0, sigma=5.0, interpolation=InterpolationMode.BILINEAR, fill=0)[source]

使用弹性变换转换张量图像。 给定alpha和sigma,它将基于随机偏移为所有像素生成位移向量。Alpha控制强度,sigma控制位移的平滑度。 位移被添加到单位网格中,生成的网格用于从图像中进行grid_sample。

Applications:

随机变换图像中物体的形态,并产生一种类似透过水看的效果。

Parameters:
  • alpha (floatpython:floats 的序列) – 位移的大小。默认值为 50.0。

  • sigma (floatpython:floats 的序列) – 位移的平滑度。默认值为 5.0。

  • 插值 (InterpolationMode) – 由torchvision.transforms.InterpolationMode定义的期望插值枚举。默认是InterpolationMode.BILINEAR。 如果输入是张量,仅支持InterpolationMode.NEAREST, InterpolationMode.BILINEAR。 相应的Pillow整数常量,例如PIL.Image.BILINEAR也被接受。

  • fill (sequencenumber) – 变换图像外部区域的像素填充值。默认值为 0。如果给定一个数字,则该值将分别用于所有波段。

使用 ElasticTransform 的示例:

变换的图示

Illustration of transforms
forward(tensor: Tensor) Tensor[source]
Parameters:

tensor (PIL ImageTensor) – 要转换的图像。

Returns:

转换后的图像。

Return type:

PIL 图像或张量