YOLOv11 安装开发环境
官方源码下载地址:
https://github.com/ultralytics/ultralytics?tab=readme-ov-file
创建虚拟环境(python3.10 GPU版本没安装成功)
conda create -n YOLOv11 python==3.8
使用PyCharm打开工程,然后切换到虚拟环境,执行下面命令安装依赖包
pip install ultralytics
运行测试
在工程目录下新建个test.py文件,拷贝下面代码
from collections import defaultdict
import cv2
import numpy as np
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO(model="weights/yolo11n.pt")
video_path = "ultralytics\\assets\\test.avi"
cap = cv2.VideoCapture(video_path)
track_history = defaultdict(lambda: [])
while cap.isOpened():
success, frame = cap.read()
if success:
results = model.track(frame, persist=True)
boxes = results[0].boxes.xywh.cpu()
track_ids = results[0].boxes.id.int().cpu().tolist()
annotated_frame = results[0].plot()
# Plot the tracks
for box, track_id in zip(boxes, track_ids):
x, y, w, h = box
track = track_history[track_id]
track.append((float(x), float(y))) # x, y center point
if len(track) > 20: # retain 30 tracks for 30 frames
track.pop(0)
points = np.hstack(track).astype(np.int32).reshape((-1, 1, 2))
cv2.polylines(annotated_frame, [points], isClosed=False, color=(0, 255, 0), thickness=2)
cv2.imshow("YOLO Tracking", annotated_frame)
if cv2.waitKey(1) == 27:
break
else:
break
cap.release()
cv2.destroyAllWindows()
然后直接运行即可,可以看到可以输出目标ID和运动轨迹。
