Spaces:
Runtime error
Runtime error
File size: 1,028 Bytes
a288397 8f687ad ad4cad0 5f3d8fc a288397 ad4cad0 a288397 ad4cad0 8f687ad a288397 5f3d8fc ad4cad0 a288397 5f3d8fc ad4cad0 5f3d8fc a288397 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import albumentations as A
import io
import numpy as np
from PIL import Image, UnidentifiedImageError
from fastapi import HTTPException
val_test_transform = A.Compose([
A.Resize(224, 224),
A.Normalize(),
])
async def pre_process_image(image_data: bytes):
try:
pil_image = Image.open(io.BytesIO(image_data)).convert("RGB")
original_width, original_height = pil_image.size
np_image = np.array(pil_image)
augmented = val_test_transform(image=np_image)
img_array = augmented["image"]
img_array = np.expand_dims(img_array, axis=0).astype(np.float32)
processed_image_dimensions = img_array.shape[1:]
return img_array, original_width, original_height, processed_image_dimensions
except UnidentifiedImageError as e:
raise HTTPException(status_code=400, detail=f"Cannot identify image file. Please upload a valid image. Error: {e}")
except Exception as e:
raise HTTPException(status_code=400, detail=f"Image processing failed: {e}")
|