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, 可選) – 調整大小後的影像較長邊的最大允許值。如果影像的較長邊在根據
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 後端保持一致。
- 返回:
調整大小後的影像。
- 返回型別:
PIL 影像或張量
使用
resize的示例