如何使用yolov8跟踪物体和物体计数

问题描述 投票:0回答:1

我需要使用yolov8跟踪对象,并且当对象在帧中不能有相同的基于id的对象时,我需要弹出来显示丢失的对象如何解决,给我一些解决方案?

我尝试使用 yolov8 模型进行对象跟踪

yolo yolov8 object-tracking
1个回答
0
投票

Ultralytics yolov8 支持对象跟踪功能

import cv2
from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Open the video file
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)

# Loop through the video frames
while cap.isOpened():
    # Read a frame from the video
    success, frame = cap.read()

    if success:
        # Run YOLOv8 tracking on the frame, persisting tracks between frames
        results = model.track(frame, persist=True)

        # Visualize the results on the frame
        annotated_frame = results[0].plot()

        # Display the annotated frame
        cv2.imshow("YOLOv8 Tracking", annotated_frame)

        # Break the loop if 'q' is pressed
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        # Break the loop if the end of the video is reached
        break

# Release the video capture object and close the display window
cap.release()
cv2.destroyAllWindows()
© www.soinside.com 2019 - 2024. All rights reserved.