0 Pluspunkte 0 Minuspunkte

Ich hab dieses Script aus einem Tutorial.

import torch
import matplotlib.pyplot as plt
import cv2
import sys

# Load YOLOv5 model
model = torch.hub.load('ultralytics/yolov5', 'yolov5x')

# Open video capture
cap = cv2.VideoCapture("test.mp4")

threshold = 0.001

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    
    # Perform object detection on the current frame
    results = model(frame)

    filtered_results = []
    for det in results.pred[0]:
        if det[4] >= threshold:
            filtered_results.append(det)
    
    if filtered_results:
        results.pred[0] = torch.stack(filtered_results)
        frame_with_results = results.render()[0]
        
        # Display the frame with detected objects
        cv2.imshow('Object Detection', frame_with_results)

cap.release()
cv2.destroyAllWindows()

Ich habe eine Videodatei die ist 120 MB groß und die ersten 2 Minuten ist nichts zu sehen. Kann ich das Video erst ab einem bestimmten Zeitpunkt laufen lassen? Also eine bestimmte Zeit vorspulen oder eine Anzahl an Frames?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Mit der Methode set kannst du den Frame setzen.

cap.set(cv2.CAP_PROP_POS_FRAMES, 4000)
von