import cv2
cap = cv2.VideoCapture(0)
while True:
ret, image = cap.read()
#导入opencv自带的人脸检测分类器
faceCascade = cv2.CascadeClassifier(r'E:\conda\envs\py36\Lib\site-packages\cv2\data\haarcascade_frontalface_alt.xml')
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#检测人脸
faces = faceCascade.detectMultiScale(gray, scaleFactor = 1.12, minNeighbors = 2, minSize = (5,5))
print(faces)
print("发现{0}个人脸!".format(len(faces)))
# 逐个标注人脸,(我检测时只有一个人)
if len(faces)==1:
for(x,y,w,h) in faces:
cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)
# 把红框区域单独显示
image=image[y:y+w,x:x+w]
#图片缩放,resize与shape获得的尺寸相反
image=cv2.resize(image,(640,480))
cv2.imshow("dect",image)
else:pass
if cv2.waitKey(10) & 0xff == 27:
break
opencv人脸检测笔记(简版
于 2022-08-28 16:14:07 首次发布