MillerRS/reconocimientoderostros
0
1from fastapi import FastAPI, File, UploadFile, HTTPException, Query2from fastapi.responses import HTMLResponse3from pydantic import BaseModel4from typing import List5import cv26from PIL import Image7import numpy as np8from io import BytesIO9 10app = FastAPI()11 12def buscar_existe(image):13 existe = "NO"14 print("resultado: ", image.shape)15 eyeglasses_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') 16 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)17 eyeglasses = eyeglasses_cascade.detectMultiScale(gray, 1.3, 5, minSize=(10, 10))18 for (x, y, w, h) in eyeglasses:19 existe = "SI"20 break21 22 return existe23 24# Ruta de predicción25@app.post('/predict/')26async def predict(file: UploadFile = File(...), rostro: str = Query(...)):27 try:28 image = Image.open(BytesIO(await file.read()))29 image = np.asarray(image)30 prediction = buscar_existe(image)31 return {"prediction": prediction}32 except Exception as e:33 raise HTTPException(status_code=500, detail=str(e))