摄像头设备人脸简易识别(haarcascade)
import numpy as np
import cv2
# 从摄像头获取图像数据
cap = cv2.VideoCapture(0)
while(True):
# ret 读取成功True或失败False
# frame读取到的图像的内容
# 读取一帧数据
ret,frame = cap.read()
# 变为灰度图
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
#级联分类器进行人脸识别
detector = cv2.CascadeClassifier('D://AI/haarcascade_frontalface_default.xml')
rects=detector.detectMultiScale(gray,scaleFactor=1.1,minNeighbors=2,minSize=(10,10),flags=cv2.CASCADE_SCALE_IMAGE)
for (x,y,w,h) in rects:
#根据坐标画矩形框 rectangle参数 pt1:矩形的顶点(x,y) pt2:矩形的顶点pt1相反(x+w,y+h)。
cv2.rectangle(gray,(x,y),(x+w,y+h),(0,255,0),2)
cv2.imshow('frame',gray)
# waitKey功能是不断刷新图像,单位ms,返回值是当前键盘按键值
# ord返回对应的ASCII数值
if cv2.waitKey(1) & 0xff == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
动态识别人脸并且将人脸使用矩形框标识
效果如下:
正文到此结束