opencv视频行人检测python
时间: 2023-08-23 11:05:26 浏览: 145
您可以使用OpenCV和Python来实现视频行人检测。下面是一个简单的示例代码:
```python
import cv2
# 加载行人检测器
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
# 打开视频文件
video = cv2.VideoCapture('path_to_video')
while True:
# 读取视频帧
ret, frame = video.read()
if not ret:
break
# 缩放帧大小以加快检测速度
frame = cv2.resize(frame, (640, 480))
# 对帧进行行人检测
boxes, weights = hog.detectMultiScale(frame, winStride=(4, 4), padding=(8, 8), scale=1.05)
# 绘制检测结果
for (x, y, w, h) in boxes:
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 显示结果
cv2.imshow('Pedestrian Detection', frame)
# 按下'q'键退出
if cv2.waitKey(1) == ord('q'):
break
# 释放资源
video.release()
cv2.destroyAllWindows()
```
在上述代码中,我们使用了OpenCV中的HOG(Histogram of Oriented Gradients)行人检测器。该检测器基于行人图像的梯度方向直方图来进行行人检测。代码中的`path_to_video`应替换为您要检测的视频的路径。
请确保已经安装了OpenCV库,并且正确设置了视频文件的路径。运行代码后,将显示带有行人检测框的视频窗口。按下'q'键可以退出程序。
希望对您有所帮助!如有任何问题,请随时提问。
阅读全文