pad¶
- torchvision.transforms.functional.pad(img: Tensor, padding: List[int], fill: Union[int, float] = 0, padding_mode: str = 'constant') Tensor [source]¶
使用给定的“填充”值对给定图像的所有边进行填充。如果图像是 torch Tensor,则其形状应为 […, H, W],其中对于 `reflect` 和 `symmetric` 模式,`…` 表示最多 2 个前导维度;对于 `edge` 模式,表示最多 3 个前导维度;对于 `constant` 模式,表示任意数量的前导维度。
- 参数:
img (PIL Image 或 Tensor) – 要填充的图像。
padding (int 或 sequence) –
每条边上的填充量。如果提供一个 int 值,则用于填充所有边。如果提供一个长度为 2 的 sequence,则分别用于填充左/右和上/下边。如果提供一个长度为 4 的 sequence,则分别用于填充左、上、右和下边。
注意
在 torchscript 模式下不支持将 padding 指定为单个 int 值,请使用长度为 1 的 sequence,例如:
[padding, ]
。fill (number 或 tuple) – 常量填充的像素填充值。默认为 0。如果是一个长度为 3 的 tuple,则分别用于填充 R、G、B 通道。此值仅在 padding_mode 为 constant 时使用。对于 torch Tensor 只支持 number 类型。对于 PIL Image 只支持 int 或 tuple 值。
padding_mode (str) –
填充类型。应为:constant, edge, reflect 或 symmetric。默认为 constant。
constant: 使用常量值填充,该值由 fill 参数指定
edge: 使用图像边缘的最后一个值填充。如果输入是 5D 的 torch Tensor,则会填充最后 3 个维度而不是最后 2 个。
reflect: 使用图像的反射填充,但不重复边缘的最后一个值。例如,在 reflect 模式下对 [1, 2, 3, 4] 两侧各填充 2 个元素,结果将是 [3, 2, 1, 2, 3, 4, 3, 2]
symmetric: 使用图像的反射填充,并重复边缘的最后一个值。例如,在 symmetric 模式下对 [1, 2, 3, 4] 两侧各填充 2 个元素,结果将是 [2, 1, 1, 2, 3, 4, 4, 3]
- 返回值:
填充后的图像。
- 返回类型:
PIL Image 或 Tensor
使用
pad
的示例