Python视频目标跟踪代码
时间: 2023-11-05 09:53:16 浏览: 147
以下是一个简单的 Python 目标跟踪代码示例:
```python
import cv2
# 加载视频文件
cap = cv2.VideoCapture('test.mp4')
# 创建跟踪器
tracker = cv2.TrackerCSRT_create()
# 读取第一帧
ret, frame = cap.read()
# 选择要跟踪的目标
bbox = cv2.selectROI(frame, False)
# 初始化跟踪器
tracker.init(frame, bbox)
while True:
# 读取下一帧
ret, frame = cap.read()
if not ret:
break
# 更新跟踪器
success, bbox = tracker.update(frame)
# 如果跟踪成功,则在视频中绘制目标框
if success:
x, y, w, h = [int(i) for i in bbox]
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示视频帧
cv2.imshow('frame', frame)
# 按下 q 键退出
if cv2.waitKey(1) == ord('q'):
break
# 释放资源
cap.release()
cv2.destroyAllWindows()
```
这个示例程序使用 OpenCV 库来读取视频文件并使用 CSRT 跟踪器来追踪目标。首先需要加载视频文件,然后使用 `cv2.selectROI` 函数选择要跟踪的目标。然后,使用 `cv2.TrackerCSRT_create` 函数创建一个 CSRT 跟踪器,并使用 `tracker.init` 函数初始化跟踪器。在主循环中,使用 `tracker.update` 函数更新跟踪器,并在视频帧上绘制目标框。最后,按下 q 键退出程序。
阅读全文