2025最新Python机器视觉实战:基于OpenCV与YOLOv8的实时目标检测与跟踪(附完整代码)
摘要:本文基于OpenCV与YOLOv8模型,实现实时目标检测与跟踪功能,支持多类别目标识别与运动轨迹绘制。代码兼容Python 3.7+,步骤清晰且经过稳定性测试,适合中高级开发者参考。所有依赖库均为最新版本,确保运行流畅。
一、环境准备
-
安装依赖库
pip install opencv-python==4.9.0 # OpenCV库 pip install ultralytics==8.0.0 # YOLOv8模型库 pip install numpy==1.23.5 # 数值计算库
-
下载YOLOv8预训练模型
- 模型文件:
yolov8n.pt
- 下载地址:Ultralytics官方GitHub
- 模型文件:
二、代码实现与步骤解析
步骤1:加载YOLOv8模型与初始化参数
import cv2
import numpy as np
from ultralytics import YOLO# 加载YOLOv8预训练模型
model = YOLO("yolov8n.pt")# 设置检测类别(可选)
classes_to_detect = ["person", "car", "dog"] # 仅检测人、车、狗
步骤2:实时视频流处理与目标检测
def real_time_detection_and_tracking():# 打开摄像头cap = cv2.VideoCapture(0)if not cap.isOpened():print("Error: Could not open camera.")return# 初始化跟踪器trackers =