案例© Fu Xianjun. All Rights Reserved.
import cv2
import numpy as np
sxt=cv2.VideoCapture(0) #读取摄像头
faces_cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml') #级联分类器
while(sxt.isOpened()):
ret,frame=sxt.read() # 得到一个框架
h,w,c=frame.shape #显示一个框架
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #灰度图
faces=faces_cascade.detectMultiScale(gray,1.3,5,0)#把灰度图片传给haar进行灰度处理,返回值是人脸左上角坐标,宽度和高度
for (x,y,w,h) in faces:
frame=cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),1) #画框
cv2.imshow("frame",frame) #显示图像
if cv2.waitKey(1)==27: #按''ESC"见键退出
break
sxt.release()
cv2.destroyAllWindows()