您的位置:首页 > 编程语言 > Python开发

python+opencv人脸识别——2、人脸检测

2019-03-07 22:19 127 查看

人脸检测需要xml文件:haarcascade_frontalface_default.xml
这个小demo是检测摄像头中的人脸

步骤:

  1. 读取摄像头数据
  2. 转为灰度图像
  3. 利用xml文件检测人脸
  4. 在窗口画出矩形

代码:

#定义一个 函数:将摄像头的每一帧数据转为灰度图像并画出人脸区域
def face_detect_demo(image,count):
#转为灰度图像
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#利用opencv的xml文件直接进行检测
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
faces = face_detector.detectMultiScale(gray,1.02,5)
#画出矩形并显示在窗口中
for(x,y,w,h) in faces:
cv2.rectangle(image,(x,y),(x+w,y+h),(0,0,255),2)
cv2.imshow("window",image)
cv2.waitKey(10)

#获取摄像头数据,调用上面定义的函数
capture=cv2.VideoCapture(0)
while(True):
ret,frame = capture.read()
frame= cv2.flip(frame,1)
face_detect_demo(frame,count)
#这里用于中止程序,按ESC中止
c = cv2.waitKey(50)
if c == 27:
break
cv2.waitKey(0)

注意:xml文件需要与py文件放在同一目录下,否则应该加上具体地址

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: