'''
Python 人脸微笑抓拍 by 郑瑞国
SmileFaceSnapping.py
Press space key continu,Press Q key Quit.
'''
import cv2
faceCascad = cv2.CascadeClassifier("C:/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml")
smileCascade = cv2.CascadeClassifier("C:/opencv/sources/data/haarcascades/haarcascade_smile.xml")
cap=cv2.VideoCapture(0)
#frame=cv2.imread("eye2.jpg")
while(1):
ret,frame=cap.read()
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
faces = faceCascad.detectMultiScale(
gray,
scaleFactor= 1.1,
minNeighbors=8,
minSize=(55, 55),
flags=cv2.CASCADE_SCALE_IMAGE
)
for (x,y,w,h) in faces:
cv2.rectangle(frame,(x,y),(x+w,y+h),(0,0,255),2)
#cv2.putText(frame,'Face',(x,y-7), 3, 1.2, (0, 255, 0), 2, cv2.LINE_AA)
roi_gray = gray[y:y+h, x:x+w]
roi_color = frame[y:y+h, x:x+w]
smile = smileCascade.detectMultiScale(
roi_gray,
scaleFactor= 1.86,
minNeighbors=38,
minSize=(25, 25),
flags=cv2.CASCADE_SCALE_IMAGE
)
for (x2,y2,w2,h2) in smile:
cv2.rectangle(roi_color, (x2, y2), (x2+w2, y2+h2), (255, 0, 0), 2)
cv2.putText(frame,'Smile',(x,y-7), 3, 1.2, (0, 255, 0), 2, cv2.LINE_AA)
cv2.imshow('Smile',frame)
cv2.waitKey(0)
cv2.imwrite('c:/python37/AICode/face'+str(x)+str(y)+str(w)+str(h)+'.jpg',frame)
if cv2.waitKey(1)&0xFF==ord('q')or ret==False:
break
cv2.imshow('Smile',frame)
cv2.waitKey(1)
cap.release()
cv2.destroyAllWindows()
Python 笑脸抓拍
猜你喜欢
转载自blog.csdn.net/zheng_ruiguo/article/details/88536363
今日推荐
周排行