bitcheck-document / app /utils /image_utils.py
AI Assistant
Update Bitcheck Document Service and test.html
37a1755
raw
history blame contribute delete
719 Bytes
from pathlib import Path
from uuid import uuid4
from PIL import Image
def output_image_path(output_dir: Path, prefix: str, suffix: str = ".png") -> Path:
output_dir.mkdir(parents=True, exist_ok=True)
return output_dir / f"{prefix}_{uuid4().hex}{suffix}"
def save_rgb_image(image: Image.Image, output_dir: Path, prefix: str) -> str:
normalized = image.convert("RGB")
destination = output_image_path(output_dir, prefix)
normalized.save(destination, format="PNG")
return str(destination.resolve())
def clean_exif(image: Image.Image) -> dict[str, str]:
raw_exif = image.getexif()
if not raw_exif:
return {}
return {str(key): str(value) for key, value in raw_exif.items()}