opencv行人检测项目
时间: 2023-12-30 18:23:51 浏览: 80
opencv行人检测
5星 · 资源好评率100%
OpenCV是一个开源的计算机视觉库,提供了许多用于图像处理和计算机视觉任务的函数和工具。行人检测是其中一个常见的应用之一。下面是一个使用OpenCV进行行人检测的示例代码:
```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)
if cv2.waitKey(1) == ord('q'):
break
# 释放资源
video.release()
cv2.destroyAllWindows()
```
这段代码使用了HOG(Histogram of Oriented Gradients)特征和SVM(Support Vector Machine)分类器来进行行人检测。它首先加载行人检测器,然后从视频中读取帧并进行缩放。接下来,使用`detectMultiScale`函数对每一帧进行行人检测,并将检测结果绘制在帧上。最后,通过`imshow`函数显示检测结果,并通过按下键盘上的"q"键退出程序。
阅读全文