帮我用python写一个人数检测的程序,要求可以框出输入图片中的人,在可视化界面显示处理后的图片并显示图片中的人数,可视化界面有三个窗口,分别显示处理前的图片,处理后的图片和检测出的人数
时间: 2024-01-24 18:17:02 浏览: 58
基于YOLOv5+PyQt5开发的可视化人数检测系统【附项目报告+演示视频+完整代码】
5星 · 资源好评率100%
好的,您可以参考以下代码实现:
```python
import cv2
# 读取输入图片
image = cv2.imread('input.jpg')
# 加载人体检测器
detector = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_fullbody.xml')
# 人体检测
bodies = detector.detectMultiScale(image, 1.05, 3)
# 绘制检测框并计算人数
count = 0
for (x, y, w, h) in bodies:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
count += 1
# 可视化界面显示处理后的图片和检测出的人数
cv2.imshow('Output', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 在命令行输出人数
print('检测到 %d 个人' % count)
```
备注:此代码使用的是 OpenCV 中的 Haar Cascade 分类器进行人体检测,因此需要先安装 OpenCV 库。
阅读全文