Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import cv2 | |
| import numpy as np | |
| from collections import Counter | |
| from ultralytics import YOLO | |
| # Load YOLOv10 model | |
| model_path = "best.pt" | |
| model = YOLO(model_path) | |
| # Define the predict function | |
| def predict(image): | |
| image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) | |
| result = model.predict(source=image_rgb, imgsz=640, conf=0.25) | |
| annotated_img = result[0].plot() | |
| detections = result[0].boxes.data | |
| class_names = [model.names[int(cls)] for cls in detections[:, 5]] | |
| count = Counter(class_names) | |
| detection_str = ', '.join([f"{name}: {count}" for name, count in count.items()]) | |
| annotated_img = annotated_img[:, :, ::-1] | |
| return annotated_img, detection_str | |
| # Create Gradio interface | |
| app = gr.Interface( | |
| predict, | |
| inputs=gr.Image(type="numpy", label="Upload an image"), | |
| outputs=[gr.Image(type="numpy", label="Annotated Image"), gr.Textbox(label="Detection Count")], | |
| title="Blood Cell Count using YOLO V10", | |
| description="Upload an image,then YOLO V10 model will detect and annotate blood cells." | |
| ) | |
| # Launch the app | |
| if __name__ == "__main__": | |
| app.launch(share=True, server_port=8080, debug=True) | |