Update app.py
Browse files
app.py
CHANGED
|
@@ -60,6 +60,8 @@ async def detect_yolo(request: Request, url: str = Form(...)
|
|
| 60 |
|
| 61 |
except Exception as e:
|
| 62 |
raise HTTPException(status_code=500, detail=f"Error processing image: {str(e)}")
|
|
|
|
|
|
|
| 63 |
@app.get("/test")
|
| 64 |
async def read_root():
|
| 65 |
return {"message": "TEST"}
|
|
@@ -67,24 +69,4 @@ async def read_root():
|
|
| 67 |
|
| 68 |
@app.get("/")
|
| 69 |
async def read_root():
|
| 70 |
-
# Download image content from URL
|
| 71 |
-
image_url = "https://s1.eestatic.com/2018/04/10/actualidad/actualidad_298735505_130172549_1000x500.jpg"
|
| 72 |
-
response = requests.get(image_url)
|
| 73 |
-
response.raise_for_status()
|
| 74 |
-
|
| 75 |
-
# Open the image using PIL
|
| 76 |
-
image = Image.open(io.BytesIO(response.content))
|
| 77 |
-
# Perform YOLO prediction
|
| 78 |
-
predictions = predict_yolo(image_url)
|
| 79 |
-
|
| 80 |
-
# Draw bounding boxes on the image
|
| 81 |
-
image_np = np.array(image)
|
| 82 |
-
image_with_boxes = draw_boxes(image_np, predictions)
|
| 83 |
-
|
| 84 |
-
# Save the image with bounding boxes
|
| 85 |
-
image_with_boxes_path = f"/tmp/{file.filename.split('.')[0]}_with_boxes.jpg"
|
| 86 |
-
cv2.imwrite(image_with_boxes_path, cv2.cvtColor(image_with_boxes, cv2.COLOR_RGB2BGR))
|
| 87 |
-
|
| 88 |
-
# Render the HTML with the image and bounding boxes
|
| 89 |
-
return templates.TemplateResponse("prediction.html", {"request": file, "image_path": image_with_boxes_path})
|
| 90 |
return {"message": "Hello, this is a YOLO prediction API using FastAPI!"}
|
|
|
|
| 60 |
|
| 61 |
except Exception as e:
|
| 62 |
raise HTTPException(status_code=500, detail=f"Error processing image: {str(e)}")
|
| 63 |
+
|
| 64 |
+
|
| 65 |
@app.get("/test")
|
| 66 |
async def read_root():
|
| 67 |
return {"message": "TEST"}
|
|
|
|
| 69 |
|
| 70 |
@app.get("/")
|
| 71 |
async def read_root():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
return {"message": "Hello, this is a YOLO prediction API using FastAPI!"}
|