原创

摄像头设备人脸简易识别(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()

动态识别人脸并且将人脸使用矩形框标识

效果如下:

file

正文到此结束
本文目录