基于python OpenCV实现动态人脸检测
本文实例为大家分享了python动态人脸检测的具体代码,供大家参考,具体内容如下
直接上代码:按Q退出
importcv2
importnumpyasnp
cv2.namedWindow("test")
cap=cv2.VideoCapture(0)#加载摄像头录制
#cap=cv2.VideoCapture("test.mp4")#打开视频文件
success,frame=cap.read()
#classifier=cv2.CascadeClassifier("/Users/yuki/anaconda/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml")
#确保此xml文件与该py文件在一个文件夹下,否则将这里改为绝对路径
#haarcascade_frontalface_default.xml
classifier=cv2.CascadeClassifier("/Users/yuki/anaconda/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml")
#确保此xml文件与该py文件在一个文件夹下,否则将这里改为绝对路径
whilesuccess:
success,frame=cap.read()
size=frame.shape[:2]
image=np.zeros(size,dtype=np.float16)
image=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
cv2.equalizeHist(image,image)
divisor=8
h,w=size
minSize=(w//divisor,h//divisor)
faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize)
iflen(faceRects)>0:
forfaceRectinfaceRects:
x,y,w,h=faceRect
cv2.rectangle(frame,(x,y),(x+h,y+w),(0,255,0),2)
#锁定眼和嘴巴
#cv2.circle(frame,(x+w//4,y+h//4+30),min(w//8,h//8),(255,0,0))#左眼
#cv2.circle(frame,(x+3*w//4,y+h//4+30),min(w//8,h//8),(255,0,0))#右眼
#cv2.rectangle(frame,(x+3*w//8,y+3*h//4),(x+5*w//8,y+7*h//8),(255,0,0))#嘴巴
cv2.imshow("test",frame)
key=cv2.waitKey(10)
c=chr(key&255)
ifcin['q','Q',chr(27)]:
break
cv2.destroyWindow("test")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 新年儿童祝福语大全 简短
11 老姐结婚祝福语简短朴实
12 新年祝福语姨姨简短
13 小升初送给儿子祝福语简短
14 送同学的简短祝福语
15 简短微信祝福语大全
16 中考家长祝福语简短励志
17 女孩生日祝福语简短的话
18 对好友的祝福语简短