给我hog+svm行人检测的python代码
时间: 2024-05-07 21:17:35 浏览: 138
pedestrian-detection-master.zip_Y91_hog svm行人检测_hog+SVM_检测 hog s
5星 · 资源好评率100%
以下是基于OpenCV和dlib库实现的HOG+SVM行人检测的Python代码:
```python
import cv2
import dlib
# 加载训练好的SVM模型
svm = cv2.ml.SVM_load('svm.xml')
# 初始化HOG特征检测器
hog = dlib.get_frontal_face_detector()
# 加载图像
image = cv2.imread('test.jpg')
# 在图像中检测行人
rects_hog, weights_hog = hog.detectMultiScale(image, winStride=(4, 4), padding=(8, 8), scale=1.05)
# 遍历检测到的行人并标记出来
for (x, y, w, h) in rects_hog:
# 提取行人图像
roi = image[y:y + h, x:x + w]
# 调整尺寸
roi = cv2.resize(roi, (64, 128))
# 提取HOG特征
_, hog_feat = hog.compute(roi)
# 用SVM模型进行预测
result = svm.predict(hog_feat.T)
# 如果预测结果为1,说明检测到一个行人
if result[1][0] == 1.0:
# 标记出行人位置
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 显示检测结果
cv2.imshow('Detection Result', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
注意事项:
- 代码中的svm.xml是预先训练好的SVM模型,需要事先准备好。
- 代码中的test.jpg是进行行人检测的图像文件,请根据实际需要替换成自己的图像文件。
- 代码运行需要安装OpenCV和dlib库。
阅读全文