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的示例