Spaces:
Sleeping
Sleeping
| from fastapi import APIRouter, Depends, status, UploadFile, File | |
| from ..storage.schemas import BaseBox | |
| from ..storage.models import BoxesData | |
| from ..storage.database import get_session, engine | |
| from sqlalchemy.ext.asyncio import AsyncSession | |
| from PIL import Image | |
| import io | |
| from ..processing.parse_img import parse_img | |
| router = APIRouter() | |
| async def parse_image(image_file: UploadFile = File(...), session: AsyncSession = Depends(get_session)): | |
| contents = await image_file.read() | |
| img = Image.open(io.BytesIO(contents)) | |
| boxes_data, _ = parse_img(img) | |
| for box_data in boxes_data: | |
| db_box = BoxesData(**box_data.model_dump()) | |
| session.add(db_box) | |
| await session.commit() | |
| return boxes_data | |