Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from ultralytics import YOLO | |
| from PIL import Image | |
| import numpy as np | |
| # Load YOLOv8 model | |
| model = YOLO("yolov8n.pt") | |
| # Detection function | |
| def detect_objects(image): | |
| if image is None: | |
| return None | |
| if isinstance(image, np.ndarray): | |
| image = Image.fromarray(image) | |
| results = model.predict(image) | |
| result_image = results[0].plot() | |
| return Image.fromarray(result_image) | |
| # Gradio UI | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## 🧠 YOLOv8 Object Detection (Image Upload or Camera)") | |
| image_input = gr.Image(label="📷 Upload or Capture Image", type="numpy", height=300) | |
| result_output = gr.Image(label="🔍 Detection Result", type="pil", height=300) | |
| detect_button = gr.Button("🚀 Detect Objects") | |
| detect_button.click(fn=detect_objects, inputs=image_input, outputs=result_output) | |
| demo.launch() | |