python opency摄像头实时人脸识别并弹框计数代码
时间: 2023-07-22 11:45:42 浏览: 153
好的,以下是Python OpenCV实时人脸识别并弹窗计数的代码:
```python
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 加载人脸检测器
cap = cv2.VideoCapture(0) # 打开摄像头
count = 0 # 初始化计数器
while True:
ret, img = cap.read() # 读取摄像头数据
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转为灰度图像
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) # 检测人脸
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) # 绘制人脸矩形框
count += 1 # 计数器加1
cv2.putText(img, 'Count: {}'.format(count), (30, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2) # 绘制计数文本
cv2.imshow('Face Detection',img) # 显示图像
if cv2.waitKey(1) & 0xFF == ord('q'): # 按下q键退出
break
cap.release() # 释放摄像头资源
cv2.destroyAllWindows() # 关闭所有窗口
```
这段代码首先加载了人脸检测器,然后打开摄像头,进入循环中不断读取摄像头数据。将数据转换为灰度图像后,使用人脸检测器检测出人脸。对于每一个检测到的人脸,绘制矩形框并将计数器加1。最后在图像上绘制计数文本,并显示图像。按下q键退出程序。
阅读全文