mirror of
https://github.com/huchenlei/Depth-Anything.git
synced 2026-01-26 15:29:46 +00:00
33 lines
748 B
Python
33 lines
748 B
Python
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
from io import BytesIO
|
|
from typing import Any
|
|
|
|
from PIL import Image
|
|
|
|
|
|
class Decoder:
|
|
def decode(self) -> Any:
|
|
raise NotImplementedError
|
|
|
|
|
|
class ImageDataDecoder(Decoder):
|
|
def __init__(self, image_data: bytes) -> None:
|
|
self._image_data = image_data
|
|
|
|
def decode(self) -> Image:
|
|
f = BytesIO(self._image_data)
|
|
return Image.open(f).convert(mode="RGB")
|
|
|
|
|
|
class TargetDecoder(Decoder):
|
|
def __init__(self, target: Any):
|
|
self._target = target
|
|
|
|
def decode(self) -> Any:
|
|
return self._target
|