MedhaCodes's picture
Update app/main.py
5686071 verified
raw
history blame contribute delete
862 Bytes
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")
@app.get("/", response_class=HTMLResponse)
async def home(request: Request):
return templates.TemplateResponse("index.html", {"request": request})
@app.post("/predict")
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
}