基于opencv的行人检测
时间: 2023-11-23 07:55:47 浏览: 128
物体检测实战:使用OpenCV内置方法实现行人检测.zip
5星 · 资源好评率100%
以下是基于OpenCV的行人检测的介绍和代码实现:
1. 简介:
OpenCV是一个开源的计算机视觉库,其中包含了很多常用的图像处理和计算机视觉算法。其中,行人检测是OpenCV中的一个重要应用之一。OpenCV采用的行人检测算法是基于Dalal的论文实现的,我们可以直接调用行人检测器实现行人检测。
2. 行人检测基础实现:
2.1 基本流程:
- 加载图像
- 初始化方向梯度直方图描述子
- 设置SVM为一个预先训练好的行人检测器
- 调用函数detectMultiScale,检测行人对应的边框
- 遍历每一个矩形框,将之绘制在图像上
- 显示检测结果
2.2 代码实现:
```python
import cv2
# 加载图像
image = cv2.imread("back.jpg")
# 初始化方向梯度直方图描述子
hog = cv2.HOGDescriptor()
# 设置SVM为一个预先训练好的行人检测器
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
# 调用函数detectMultiScale,检测行人对应的边框
(rects, weights) = hog.detectMultiScale(image)
# 遍历每一个矩形框,将之绘制在图像上
for (x, y, w, h) in rects:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)
# 显示检测结果
cv2.imshow("image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文