resize¶
- 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 Tensor,其形状应为 […, H, W],其中 … 表示任意数量的前导维度
- 参数:
img (PIL Image or Tensor) – 要调整大小的图像。
size (sequence or int) –
期望的输出大小。如果 size 是一个序列,如 (h, w),输出大小将与此匹配。如果 size 是一个 int,图像的较小边将被匹配到此数值,同时保持纵横比。例如,如果高度 > 宽度,则图像将被缩放至 \(\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right)\)。
注意
在 torchscript 模式下,不支持 size 为单个 int,请使用长度为 1 的序列:
[size, ]
。interpolation (InterpolationMode) – 由
torchvision.transforms.InterpolationMode
定义的期望插值模式枚举。默认为InterpolationMode.BILINEAR
。如果输入是 Tensor,仅支持InterpolationMode.NEAREST
、InterpolationMode.NEAREST_EXACT
、InterpolationMode.BILINEAR
和InterpolationMode.BICUBIC
。也接受相应的 Pillow 整数常量,例如PIL.Image.BILINEAR
。max_size (int, optional) – 调整大小后图像较长边的最大允许尺寸。如果根据
size
调整大小后图像的较长边大于max_size
,则size
将被覆盖,使较长边等于max_size
。因此,较短边可能小于size
。仅当size
是 int(或 torchscript 模式下长度为 1 的序列)时支持此参数。antialias (bool, optional) –
是否应用抗锯齿。仅影响双线性或双三次模式下的 tensors,在其他情况下会被忽略:对于 PIL 图像,抗锯齿在双线性或双三次模式下总是应用的;对于其他模式(PIL 图像和 tensors),抗锯齿没有意义,此参数将被忽略。可能的值有
True
(默认):将对双线性或双三次模式应用抗锯齿。其他模式不受影响。这可能是您想要使用的。False
:将不对任何模式下的 tensors 应用抗锯齿。PIL 图像在双线性或双三次模式下仍然会应用抗锯齿,因为 PIL 不支持无抗锯齿。None
:对于 tensors 等同于False
,对于 PIL 图像等同于True
。此值因历史原因存在,除非您非常清楚自己在做什么,否则您可能不想使用它。
默认值在 v0.17 中从
None
更改为True
,以使 PIL 和 Tensor 后端保持一致。
- 返回:
调整大小后的图像。
- 返回类型:
PIL Image 或 Tensor
使用
resize
的示例