opencv行人检测图片视频使用深度学习模型代码
时间: 2023-11-28 07:47:17 浏览: 151
行人检测 opencv
5星 · 资源好评率100%
下面是使用 OpenCV 和深度学习模型实现行人检测的代码:
```python
import cv2
# 加载行人检测模型
model = cv2.dnn.readNetFromTensorflow("frozen_inference_graph.pb", "ssd_mobilenet_v2_coco_2018_03_29.pbtxt")
# 加载图片
image = cv2.imread("image.jpg")
# 获取图片的宽度和高度
(h, w) = image.shape[:2]
# 使用模型进行预测
blob = cv2.dnn.blobFromImage(cv2.resize(image, (300, 300)), 0.007843, (300, 300), 127.5)
model.setInput(blob)
detections = model.forward()
# 遍历预测结果
for i in range(0, detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.5:
# 获取行人位置
box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype("int")
# 绘制行人框
cv2.rectangle(image, (startX, startY), (endX, endY), (0, 255, 0), 2)
# 显示结果
cv2.imshow("Output", image)
cv2.waitKey(0)
```
其中,`frozen_inference_graph.pb` 是预训练的模型文件,`ssd_mobilenet_v2_coco_2018_03_29.pbtxt` 是模型的配置文件。你可以在 TensorFlow 官网下载这两个文件。
此外,如果要检测视频中的行人,只需要将图片读取改为视频帧读取,然后遍历每一帧进行行人检测即可。
阅读全文