Shortcuts

调整大小

torchvision.transforms.functional.resize(img: Tensor, size: List[int], interpolation: InterpolationMode = InterpolationMode.BILINEAR, max_size: Optional[int] = None, antialias: Optional[bool] = True) Tensor[source]

将输入图像调整为给定大小。 如果图像是torch张量,则期望其具有[…, H, W]形状,其中…表示任意数量的前导维度

Parameters:
  • img (PIL ImageTensor) – 需要调整大小的图像。

  • size (序列整数) –

    期望的输出大小。如果 size 是一个像 (h, w) 这样的序列,输出大小将与此匹配。如果 size 是一个整数,图像的较小边将与此数字匹配,同时保持宽高比。即,如果高度 > 宽度,则图像将重新缩放为 \(\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right)\)

    注意

    在 torchscript 模式下,不支持单个整数作为 size,请使用长度为 1 的序列:[size, ]

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

  • max_size (int, 可选) – 调整大小后的图像较长边的最大允许值。如果根据size调整大小后,图像的较长边大于max_size,则size将被覆盖,以使较长边等于max_size。 因此,较短边可能比size短。这仅在size为整数(或在torchscript模式下为长度为1的序列)时支持。

  • antialias (bool, optional) –

    是否应用抗锯齿。 它只影响具有双线性或双三次模式的张量,否则会被忽略:在PIL图像上,双线性或双三次模式总是应用抗锯齿;在其他模式(对于PIL图像和张量)上,抗锯齿没有意义,此参数会被忽略。 可能的值为:

    • True (默认): 将对双线性或双三次模式应用抗锯齿。 其他模式不受影响。这可能是你想要使用的。

    • False: 不会对任何模式的张量应用抗锯齿。PIL 图像在双线性或双三次模式下仍然应用抗锯齿,因为 PIL不支持无抗锯齿。

    • None: 对于张量等同于False,对于 PIL图像等同于True。此值存在是为了兼容旧版本,除非你确实知道自己在做什么,否则你可能不想使用它。

    默认值在v0.17版本中从None更改为True,以使PIL和Tensor后端保持一致。

Returns:

调整大小的图片。

Return type:

PIL 图像或张量

使用 resize 的示例:

变换的图示

Illustration of transforms

光流:使用RAFT模型预测运动

Optical Flow: Predicting movement with the RAFT model