|
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(...)): |
|
|
|
image_bytes = await file.read() |
|
image = Image.open(io.BytesIO(image_bytes)) |
|
img_np = np.array(image) |
|
|
|
|
|
gray = cv2.cvtColor(img_np, cv2.COLOR_RGB2GRAY) |
|
edges = cv2.Canny(gray, 100, 200) |
|
|
|
|
|
disease_detected = "Enfermedad detectada" if np.mean(edges) > 50 else "Saludable" |
|
|
|
return {"diagnosis": disease_detected} |
|
|