コード例 #1
0
def decode_image_with_pil(encoded_image: torch.Tensor) -> torch.Tensor:
    image = torch.as_tensor(
        np.array(PIL.Image.open(ReadOnlyTensorBuffer(encoded_image)),
                 copy=True))
    if image.ndim == 2:
        image = image.unsqueeze(2)
    return image.permute(2, 0, 1)
コード例 #2
0
def decode_video_with_av(
    encoded_video: torch.Tensor
) -> Tuple[torch.Tensor, torch.Tensor, Dict[str, Any]]:
    with unittest.mock.patch("torchvision.io.video.os.path.exists",
                             return_value=True):
        return read_video(
            ReadOnlyTensorBuffer(encoded_video))  # type: ignore[arg-type]
コード例 #3
0
ファイル: _encoded.py プロジェクト: liuf1990/vision
    def image_size(self) -> Tuple[int, int]:
        if not hasattr(self, "_image_size"):
            with PIL.Image.open(ReadOnlyTensorBuffer(self)) as image:
                self._image_size = image.height, image.width

        return self._image_size