直接给完整代码:
# !/usr/bin/env python
# _*_ coding: utf-8 _*_
import cv2
import numpy as np
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') #镜像库
cap = cv2.VideoCapture(0)
i = 0
while (1):
# get a frame
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # cv2.COLOR_BGR2GRAY
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.2,
minNeighbors=5
,
minSize=(20, 20)
)
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)
roi_gray = gray[y:y + h, x:x + w]
roi_color = frame[y:y + h, x:x + w]
# show a frame
cv2.imshow("capture", frame)
if cv2.waitKey(20) & 0xFF == ord('q'):
i += 1
st = 'test' + str(i) + '.jpg'
print(st)
cv2.imwrite(st, roi_gray)
elif cv2.waitKey(100) & 0xFF == ord('p'):
break
cap.release()
cv2.destroyAllWindows()
镜像库文件下载
链接:https://pan.baidu.com/s/12lMRswWiO73PzMntnp0PGg
提取码:f5ps
效果展示:
原图
截图



