Spaces:
Running
Running
| from __future__ import annotations | |
| from pathlib import Path | |
| from PIL import Image, ImageOps | |
| def load_rgb_image(path: Path) -> Image.Image: | |
| with Image.open(path) as img: | |
| return ImageOps.exif_transpose(img).convert("RGB") | |
| def image_properties(path: Path, original_filename: str, sha256: str) -> dict[str, object]: | |
| with Image.open(path) as img: | |
| width, height = img.size | |
| return { | |
| "filename": original_filename, | |
| "sha256": sha256, | |
| "width": width, | |
| "height": height, | |
| "format": img.format, | |
| "color_mode": img.mode, | |
| "aspect_ratio": round(width / height, 4) if height else None, | |
| "file_size_bytes": path.stat().st_size, | |
| } | |