import numpy as np
import cv2
from cv2.data import *
img = cv2.imread('./zhou.jpg')
#img = cv2.resize(img,(1063,552))
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# 级联分类器(多个小分类器合到工作,级联)
# haar特征:嘴唇,嘴唇上的颜色深度,比周边深
# 算法级联分类器,根据haar特征进行检测,符合特征,识别出来
face_detector = cv2.CascadeClassifier('D:\Anaconda1910\Lib\site-packages\cv2\data\haarcascade_frontalface_alt2.xml')
# 返回的数据是目标区域左上角的坐标,与目标区域宽度和高度,正方形区域
face_zones = face_detector.detectMultiScale(gray)
# face_zones = face_detector.detectMultiScale(gray,scaleFactor = 1.1,
# minNeighbors = 1,
# minSize = (22,22)
# ,maxSize = (60,60))
print(face_zones)
for x,y,w,h in face_zones:
cv2.rectangle(img,pt1 = (x,y),pt2 = (x+w,y+h),color = [0,0,255],thickness = 2)
#cv2.circle(img,center = (x + w//2,y + h//2),radius = w//2,color = [0,0,255],thickness = 2)
cv2.imshow('face',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Opencv检测人脸
最新推荐文章于 2024-09-03 21:35:52 发布