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] 形狀,其中 … 表示任意數量的 leading 維度
- 參數:
img (PIL Image 或 Tensor) – 要調整大小的圖像。
size (sequence 或 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, optional) –
是否應用抗鋸齒。 它僅影響具有雙線性或雙三次模式的 tensors,否則將被忽略:在 PIL 影像上,抗鋸齒始終應用於雙線性或雙三次模式;在其他模式(對於 PIL 影像和 tensors)上,抗鋸齒沒有意義,並且此參數將被忽略。 可能的值為
True
(預設):將對雙線性或雙三次模式應用抗鋸齒。其他模式不受影響。 這可能正是您想要使用的。False
:不會對任何模式下的 tensors 應用抗鋸齒。PIL 影像仍然在雙線性或雙三次模式下進行抗鋸齒處理,因為 PIL 不支援無抗鋸齒。None
:等同於 tensors 的False
和 PIL 影像的True
。 此值因歷史原因而存在,除非您真正知道自己在做什麼,否則可能不想使用它。
為了使 PIL 和 Tensor 後端保持一致,預設值已從 v0.17 中的
None
變更為True
。
- 傳回:
調整大小後的影像。
- 傳回類型:
PIL Image 或 Tensor
使用
resize
的範例