decode_image¶
- torchvision.io.decode_image(input: Union[Tensor, str], mode: ImageReadMode = ImageReadMode.UNCHANGED, apply_exif_orientation: bool = False) Tensor[原始碼]¶
將影像解碼為 uint8 張量,支援從路徑或原始編碼位元組進行解碼。
目前支援的影像格式有 jpeg、png、gif 和 webp。
在大多數情況下,輸出張量的值為 uint8,範圍在 [0, 255] 之間。
如果影像是 16 位 png,則輸出張量為 uint16,範圍在 [0, 65535] 之間(從 torchvision
0.21開始支援)。由於 PyTorch 對 uint16 的支援有限,我們建議在此函式後呼叫torchvision.transforms.v2.functional.to_dtype()並設定scale=True,將解碼後的影像轉換為 uint8 或 float 張量。注意
decode_image()目前還不支援 AVIF 或 HEIC 影像。對於這些格式,請直接呼叫decode_avif()或decode_heic()。- 引數:
input (Tensor 或 str 或
pathlib.Path) – 要解碼的影像。如果傳入的是張量,則它必須是包含影像原始位元組的一維 uint8 張量。否則,它必須是影像檔案的路徑。mode (str 或 ImageReadMode) – 要轉換到的影像模式,例如“RGB”。預設為“UNCHANGED”。有關可用模式,請參見
ImageReadMode。apply_exif_orientation (bool) – 對輸出張量應用 EXIF 方向變換。僅適用於 JPEG 和 PNG 影像。預設為 False。
- 返回:
output (Tensor[影像通道, 影像高度, 影像寬度])
使用
decode_image的示例