yolov8+PyQt5实现车辆实时追踪,车速测量。
1. 界面展示
1.效果图
2.效果图
3.代码结构图
2.原理讲解
- yolov8官网和github地址
官网地址 https://docs.ultralytics.com/
github地址 https://github.com/ultralytics/ultralytics
2.项目所需依赖
opencv-python==4.9.0.80
matplotlib==3.8.4
pyqt5==5.15.10
mss==9.0.1
numpy==1.26.3
pyautogui==0.9.54
torch==2.3.0+cu118
ultralytics==8.2.4
3.项目主要结构
主界面代码
推理线程代码
既然基于视觉测量车速是车辆追踪,那么第一步就是应该找出图片中的车辆,然后持续追踪。这里我们用yolov8的实例分割找出图片中的车辆。并用track对车辆进行追踪。
# 对每一帧进行目标检测
results = model.track(
persist=True,
source=np.array(frame),
device=self.device,
imgsz=(self.imgsz, self.imgsz),
half=self.half,
conf=self.conf,
iou=self.iou
)
for r in results:
masks = r.masks.xy
background_image = np.zeros((frame_height, frame_width, 3)