从图片中识别人数的代码
时间: 2023-06-19 08:09:15 浏览: 60
要从图片中识别人数,可以使用计算机视觉技术,特别是目标检测技术。以下是使用Python和OpenCV库实现目标检测的示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 加载预训练的人体检测器
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
# 进行人体检测
rects, weights = hog.detectMultiScale(img, winStride=(4, 4), padding=(8, 8), scale=1.05)
# 绘制检测结果
for (x, y, w, h) in rects:
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2)
# 显示结果
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 输出人数
print('There are', len(rects), 'people in the image.')
```
在这个例子中,我们使用了Histogram of Oriented Gradients (HOG) 特征来训练一个支持向量机(SVM)分类器,用于检测人体。首先读取图像,然后加载预训练的检测器。接下来,使用 `hog.detectMultiScale` 函数进行人体检测,得到检测框和权重。最后,绘制检测结果并输出人数。