opencv行人检测图片视频使用深度学习代码
时间: 2023-11-28 09:47:21 浏览: 78
毕业设计基于深度学习Opencv+PyQt5的行人车辆识别检测系统-带训练好模型和数据集及操作使用说明.zip
5星 · 资源好评率100%
以下是使用 OpenCV 和深度学习框架实现行人检测的示例代码,可以用于处理图片和视频:
```python
import cv2
# 加载行人检测器模型
net = cv2.dnn.readNetFromTensorflow('frozen_inference_graph.pb', 'ssd_mobilenet_v2_coco_2018_03_29.pbtxt')
# 设置输入尺寸
input_size = (300, 300)
# 加载图片或视频
cap = cv2.VideoCapture('input.mp4')
while True:
# 读取一帧
ret, frame = cap.read()
if not ret:
break
# 调整尺寸
resized_frame = cv2.resize(frame, input_size)
# 构建输入 blob
blob = cv2.dnn.blobFromImage(resized_frame, size=input_size, swapRB=True)
# 前向传播
net.setInput(blob)
detections = net.forward()
# 绘制检测结果
for i in range(detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.5:
box = detections[0, 0, i, 3:7] * [frame.shape[1], frame.shape[0], frame.shape[1], frame.shape[0]]
x1, y1, x2, y2 = box.astype(int)
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2)
# 显示结果
cv2.imshow('Detection', frame)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
需要注意的是,这个示例代码使用的是 TensorFlow 的 SSD MobileNet 模型,你需要先下载对应的 pb 和 pbtxt 文件,并替换掉代码中的文件名。同时,你也可以使用其他的行人检测模型来替换这个示例代码中的模型。
阅读全文