调整大小¶
- class torchvision.transforms.v2.Resize(size: Optional[Union[int, Sequence[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, max_size: Optional[int] = None, antialias: Optional[bool] = True)[source]¶
将输入调整到给定尺寸。
如果输入是
torch.Tensor或TVTensor(例如Image,Video,BoundingBoxes等),它可以包含任意数量的前导批次维度。例如,图像的形状可以为[..., C, H, W]。边界框的形状可以为[..., 4]。- 参数:
size (序列, 整型, 或 None) –
期望的输出尺寸。
如果 size 是像 (h, w) 这样的序列,则输出尺寸将与此匹配。
如果 size 是一个整型数,则图像的较短边将匹配到此数字。即,如果 height > width,则图像将被重新缩放为 (size * height / width, size)。
如果 size 为 None,则输出形状由参数
max_size决定。
注意
在 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 (整型, 可选) –
调整大小后的图像长边的最大允许尺寸。
如果
size是一个整型数:如果图像的长边在根据size调整大小后大于max_size,则size将被覆盖,使得长边等于max_size。结果是,短边可能会小于size。仅当size是一个整型数(或在 torchscript 模式下是长度为 1 的序列)时支持此功能。如果
size为 None:图像的长边将匹配到 max_size。即,如果 height > width,则图像将被重新缩放为 (max_size, max_size * width / height)。
当
size是一个序列时,此参数应保持None(默认值)。antialias (布尔型, 可选) –
是否应用抗锯齿。它仅影响双线性或双三次模式下的 tensor,在其他情况下会被忽略:对于 PIL 图像,在双线性或双三次模式下总是应用抗锯齿;对于其他模式(PIL 图像和 tensor),抗锯齿没有意义,此参数将被忽略。可能的值为
True(默认):将对双线性或双三次模式应用抗锯齿。其他模式不受影响。这可能是您想要使用的设置。False:将不对 tensor 在任何模式下应用抗锯齿。PIL 图像在双线性或双三次模式下仍然会应用抗锯齿,因为 PIL 不支持关闭抗锯齿。None:对于 tensor 等同于False,对于 PIL 图像等同于True。此值是出于兼容性原因而存在,除非您非常清楚自己在做什么,否则可能不希望使用它。
默认值在 v0.17 中从
None更改为True,以使 PIL 和 Tensor 后端保持一致。
使用
Resize的示例