import cv2 from ultralytics import YOLO # Cargar modelo YOLOv8 entrenado model = YOLO("/home/izaskunmz/yolo/yolov8-object-detection/runs/detect/train_coco8/weights/best.pt") # Abrir vídeo video_path = "/home/izaskunmz/yolo/yolov8-object-detection/raw-video/ny-traffic.mp4" cap = cv2.VideoCapture(video_path) # Obtener dimensiones del video original width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) fps = int(cap.get(cv2.CAP_PROP_FPS)) # Definir el codec y crear el VideoWriter para guardar el resultado output_path = "/home/izaskunmz/yolo/yolov8-object-detection/processed-video/ny-traffic-processed.mp4" fourcc = cv2.VideoWriter_fourcc(*'mp4v') # Codec para formato MP4 out = cv2.VideoWriter(output_path, fourcc, fps, (width, height)) while cap.isOpened(): ret, frame = cap.read() if not ret: break # Si el vídeo ha terminado, salimos del bucle # Realizar detección en el frame results = model(frame) # Obtener frame con anotaciones annotated_frame = results[0].plot() # Guardar el frame en el video de salida out.write(annotated_frame) cap.release() out.release() # Liberar el escritor de video