resize¶
- torchvision.transforms.functional.resize(img: Tensor, size: list[int], interpolation: InterpolationMode = InterpolationMode.BILINEAR, max_size: Optional[int] = None, antialias: Optional[bool] = True) Tensor [源代码]¶
将输入图像调整到指定大小。如果图像是 torch Tensor,则预计其形状为 [..., H, W],其中 ... 表示任意数量的前导维度。
- 参数:
img (PIL Image 或 Tensor) – 要调整大小的图像。
size (序列 或 int) –
所需的输出大小。如果 size 是 (h, w) 这样的序列,则输出大小将与之匹配。如果 size 是一个整数,则图像的较短边将匹配此数字,同时保持纵横比。即,如果 height > width,则图像将缩放到 \(\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right)\)。
注意
在 torchscript 模式下,不支持将 size 作为单个整数,请使用长度为 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
是一个整数(或在 torchscript 模式下是长度为 1 的序列)时才受支持。antialias (bool, 可选) –
是否应用抗锯齿。它仅影响双线性或双三次模式的张量,否则将被忽略:在 PIL 图像上,抗锯齿始终在双线性或双三次模式下应用;在其他模式(对于 PIL 图像和张量)下,抗锯齿没有意义,并且此参数将被忽略。可能的值为
True
(默认):将对双线性或双三次模式应用抗锯齿。其他模式不受影响。这可能是您想要使用的。False
:将不对任何模式下的张量应用抗锯齿。PIL 图像在双线性或双三次模式下仍然进行抗锯齿处理,因为 PIL 不支持无抗锯齿。None
:对于张量相当于False
,对于 PIL 图像相当于True
。此值是出于历史原因而存在的,除非您真正了解自己在做什么,否则可能不希望使用它。
默认值在 v0.17 中从
None
更改为True
,以使 PIL 和 Tensor 后端保持一致。
- 返回:
调整大小后的图像。
- 返回类型:
PIL 图像或张量
resize
的示例