import cv2 import gradio as gr from ultralytics import YOLO def process_frame(model, frame): results = model(frame) for result in results: for box in result.boxes.data.tolist(): x1, y1, x2, y2, confidence, class_id = box label = f"{model.names[int(class_id)]} {confidence:.2f}" cv2.rectangle(frame, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 3) cv2.putText(frame, label, (int(x1), int(y1) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2) return frame def detect_objects(image): model = YOLO("s.pt") # Путь к вашей модели processed_image = process_frame(model, image) return processed_image # Интерфейс Gradio iface = gr.Interface(fn=detect_objects, inputs=gr.Image(type="numpy"), outputs=gr.Image(type="numpy"), live=True) iface.launch()