运用已经训练好的模型(OpenCV官方提供)直接进行调用检测
级联分类器
1.导入OpenCV官方库
import cv2
2.
打开摄像头并加载模型,模型路径在OpenCV官方库里面具体路径
:\python\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml
cap = cv2.VideoCapture(0)
face_cascade = cv2.CascadeClassifier("E:\python\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml")
3.
开始检测
灰度图读入图像并调用级联分类器进行检测,检测结果返回值为人脸坐标,传入绘图函数进行绘图
最后按q键结束程序
while True:
res, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(img, scaleFactor=1.2, minNeighbors=3,minSize=(32,32))
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 255), 3)
cv2.imshow('faces', img)
if cv2.waitKey(1)==0xff==ord('q'):
break