File size: 723 Bytes
f938a09
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import cv2
from fastapi import FastAPI, File, UploadFile
import numpy as np
from PIL import Image
import io

app = FastAPI()

@app.post("/detect_disease/")
async def detect_disease(file: UploadFile = File(...)):
    # Leer imagen cargada
    image_bytes = await file.read()
    image = Image.open(io.BytesIO(image_bytes))
    img_np = np.array(image)

    # Convertir a escala de grises y aplicar análisis de bordes
    gray = cv2.cvtColor(img_np, cv2.COLOR_RGB2GRAY)
    edges = cv2.Canny(gray, 100, 200)

    # Analizar características básicas (esto es un ejemplo)
    disease_detected = "Enfermedad detectada" if np.mean(edges) > 50 else "Saludable"

    return {"diagnosis": disease_detected}