Resize¶
- class torchvision.transforms.Resize(size, interpolation=InterpolationMode.BILINEAR, max_size=None, antialias=True)[source]¶
将输入图像调整为给定大小。如果图像是 torch Tensor,则应具有 […, H, W] 形状,其中 … 表示最多两个前导维度
- 参数:
size (sequence 或 int) –
期望的输出大小。如果 size 是像 (h, w) 这样的序列,则输出大小将与之匹配。如果 size 是一个 int,则图像的较小边缘将与此数字匹配。即,如果 height > width,则图像将被缩放到 (size * height / width, size)。
注意
在 torchscript 模式下,不支持作为单个 int 的 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, 可选) – 调整大小后的图像的较长边的最大允许值。 如果图像的较长边在根据
size
调整大小后大于max_size
,则size
将被覆盖,以便较长边等于max_size
。 因此,较小边可能比size
短。 仅当size
是 int(或 torchscript 模式下长度为 1 的序列)时,才支持此功能。antialias (bool, 可选) –
是否应用抗锯齿。 它仅影响具有双线性或双三次模式的张量,否则将被忽略:在 PIL 图像上,始终在双线性或双三次模式下应用抗锯齿; 在其他模式下(对于 PIL 图像和张量),抗锯齿没有意义,并且此参数将被忽略。 可能的值是
True
(默认):将为双线性或双三次模式应用抗锯齿。 其他模式不受影响。 这可能是您想要使用的。False
:将不会为任何模式下的张量应用抗锯齿。 PIL 图像在双线性或双三次模式下仍然会进行抗锯齿处理,因为 PIL 不支持无抗锯齿。None
:等效于张量的False
和 PIL 图像的True
。 此值出于遗留原因而存在,除非您真的知道自己在做什么,否则您可能不想使用它。
为了使 PIL 和 Tensor 后端保持一致,默认值已从 v0.17 中的
None
更改为True
。
Resize
的使用示例