From f6360064b7e00c9d33fab2887c7628dc18df0a6d Mon Sep 17 00:00:00 2001 From: ATATC Date: Sun, 7 Jul 2024 13:19:50 +0800 Subject: [PATCH 1/2] Bug fixed: unmatched channels. (#267) --- leads_video/camera.py | 5 +++-- leads_video/utils.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/leads_video/camera.py b/leads_video/camera.py index c12e3a36..f521fea6 100644 --- a/leads_video/camera.py +++ b/leads_video/camera.py @@ -28,7 +28,8 @@ def write(self, payload: tuple[int, int] | None) -> None: def transform(self, x: _ndarray) -> _ndarray: height, width = x.shape[:-1] - target_ratio = self._resolution[1] / self._resolution[0] + resolution_width, resolution_height = self._resolution + target_ratio = resolution_height / resolution_width target_height = int(target_ratio * width) pad_left, pad_right, pad_top, pad_bottom = 0, 0, 0, 0 if height > target_height: @@ -38,7 +39,7 @@ def transform(self, x: _ndarray) -> _ndarray: else: pad_top = (target_height - height) // 2 pad_bottom = target_height - height - pad_top - x = _pad(x, ((0, 0), (pad_top, pad_bottom), (pad_left, pad_right))) + x = _pad(x, ((pad_left, pad_right), (pad_top, pad_bottom), (0, 0))) return _array(_fromarray(x).resize(self._resolution)) @_override diff --git a/leads_video/utils.py b/leads_video/utils.py index b52ffb6e..47886df1 100644 --- a/leads_video/utils.py +++ b/leads_video/utils.py @@ -22,7 +22,7 @@ def base64_decode_image(x_base64: str) -> _Image | None: try: return _open(_BytesIO(_b64decode(x_base64))) if x_base64 else None except (ValueError, TypeError, _UnidentifiedImageError): - return None + return def base64_decode(x_base64: str) -> _ndarray | None: From 7097bfe919ab3d09102b4087db13ebad6dba4f8a Mon Sep 17 00:00:00 2001 From: ATATC Date: Sun, 7 Jul 2024 13:20:25 +0800 Subject: [PATCH 2/2] Code reformatted. (#267) --- leads_video/camera.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/leads_video/camera.py b/leads_video/camera.py index f521fea6..07ed64f3 100644 --- a/leads_video/camera.py +++ b/leads_video/camera.py @@ -39,8 +39,8 @@ def transform(self, x: _ndarray) -> _ndarray: else: pad_top = (target_height - height) // 2 pad_bottom = target_height - height - pad_top - x = _pad(x, ((pad_left, pad_right), (pad_top, pad_bottom), (0, 0))) - return _array(_fromarray(x).resize(self._resolution)) + return _array(_fromarray(_pad(x, ((pad_left, pad_right), (pad_top, pad_bottom), (0, 0)))).resize( + self._resolution)) @_override def read(self) -> _ndarray | None: