Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI, UploadFile, File, Request | |
| from fastapi.responses import HTMLResponse | |
| from fastapi.staticfiles import StaticFiles | |
| from fastapi.templating import Jinja2Templates | |
| from PIL import Image | |
| import io | |
| from app.infer import predict | |
| app = FastAPI(title="Captcha OCR") | |
| app.mount("/static", StaticFiles(directory="static"), name="static") | |
| templates = Jinja2Templates(directory="templates") | |
| async def home(request: Request): | |
| return templates.TemplateResponse("index.html", {"request": request}) | |
| async def predict_captcha(file: UploadFile = File(...)): | |
| image_bytes = await file.read() | |
| pil_image = Image.open(io.BytesIO(image_bytes)).convert("RGB") | |
| text, confidence = predict(pil_image) | |
| return { | |
| "text": text, | |
| "confidence": confidence | |
| } | |