import gradio as gr import cv2 import requests import os from ultralytics import YOLO path = ['./data/0068.jpg'] model_path = './best.pt' model = YOLO(model_path) def detect_cheerios(image_path): # Run inference on the input image results = model(image_path) image = results[0].plot() # # Get the first result (assuming single image input) # result = results[0] # # Draw bounding boxes on the image # for box in result.boxes: # x1, y1, x2, y2 = box.xyxy[0] # conf = box.conf[0] # cv2.rectangle(image, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2) # cv2.putText(image, f'Apple: {conf:.2f}', (int(x1), int(y1) - 10), # cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2) return image iface = gr.Interface( fn=detect_cheerios, inputs=gr.components.Image(type="filepath", label="Input Image"), outputs=gr.Image(), title="Cheerios detector", examples=path, ) # Launch the interface iface.launch()