faces_server_python_rknpu_o.../app/api/faces.py
2025-12-27 15:36:20 +01:00

30 lines
729 B
Python

from fastapi import APIRouter, UploadFile
import cv2
import numpy as np
from app.core.embedder import get_embedding
from app.storage import save_known_face, load_embeddings, save_embeddings
router = APIRouter()
@router.post("/add")
async def add_face(name: str, file: UploadFile):
img_bytes = await file.read()
img = np.frombuffer(img_bytes, np.uint8)
img = cv2.imdecode(img, cv2.IMREAD_COLOR)
# Salva foto del volto noto
save_known_face(name, img)
# Genera embedding
emb = get_embedding(img)
# Aggiorna database
db = load_embeddings()
db[name] = emb.tolist()
save_embeddings(db)
return {
"status": "ok",
"name": name,
"embedding_len": len(emb)
}