目录

解码 / 编码图像和视频

该模块提供了用于解码和编码的实用程序 图像和视频。torchvision.io

图像解码

Torchvision 目前支持解码 JPEG、PNG、WEBP 和 GIF 图像。JPEG 格式 解码也可以在 CUDA GPU 上完成。

主要入口点是函数,该函数 您可以用作 的替代项。它将解码图像 直接转换为图像 Tensors,从而节省转换并允许您 在 Tensor 上本地运行 transforms/preproc。PIL.Image.open()

from torchvision.io import decode_image

img = decode_image("path_to_image", mode="RGB")
img.dtype  # torch.uint8

# Or
raw_encoded_bytes = ...  # read encoded bytes from your file system
img = decode_image(raw_encoded_bytes, mode="RGB")

会自动检测图片格式, 并调用相应的解码器。您也可以使用较低级别的 特定于格式的解码器,可以更强大,例如,如果您想 在 CUDA 上编码/解码 JPEG。

(input[, mode, ...])

将图像从路径或原始编码字节解码为 uint8 张量。

(input[, mode, device, ...])

在 CPU 或 CUDA 上将 JPEG 图像解码为 3D RGB 或灰度张量。

(输入 [, compression_level])

采用 CHW 布局中的输入张量,并返回一个缓冲区,其中包含其相应 PNG 文件的内容。

(输入)

将 GIF 图像解码为 3 维或 4 维 RGB 张量。

(input[, 模式])

将 WEBP 图像解码为 3 维 RGB[A] 张量。

(值)

允许在解码时自动转换为 RGB、RGBA 等。

过时的解码功能:

(路径[, 模式, apply_exif_orientation])

[已过时]请改用

图像编码

对于编码,支持 JPEG(cpu 和 CUDA)和 PNG。

(input[, 质量])

在 CPU 或 CUDA 上将 RGB 张量编码为原始编码的 jpeg 字节。

(输入、文件名[、质量])

获取 CHW 布局中的输入张量并将其保存在 JPEG 文件中。

(输入 [, compression_level])

采用 CHW 布局中的输入张量,并返回一个缓冲区,其中包含其相应 PNG 文件的内容。

(输入, 文件名[, compression_level])

获取 CHW 布局中的输入张量(如果是灰度图像,则为 HW)并将其保存在 PNG 文件中。

IO 操作

(路径)

将文件的字节内容作为 uint8 1D Tensor 返回。

(文件名、数据)

将 uint8 1D 张量的内容写入文件。

视频

警告

Torchvision 支持通过下面列出的不同 API 进行视频解码, 其中一些仍处于 BETA 阶段。在不久的将来,我们打算 将 PyTorch 的视频解码功能集中在 torchcodec 项目中。我们鼓励您尝试 它出来并分享您的反馈,就像 TorchVision 视频解码器一样 最终被弃用。

(文件名[, start_pts, end_pts, ...])

从文件中读取视频,同时返回视频帧和音频帧

(文件名[, pts_unit])

列出视频帧时间戳。

(文件名、video_array、fps[, ...])

在视频文件中写入 [T, H, W, C] 格式的 4d 张量

细粒度视频 API

除了功能之外,我们还提供高性能 与函数相比,用于更精细的控制。 它在完全支持 torchscript 的同时完成所有这些工作。read_videoread_video

(来源 [, 流, num_threads])

细粒度视频阅读 API。

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源