ベリーパイ入門の顔認識

5744 ワード

顔認識
# -*- coding: utf-8 -*-
 
#           
 
# 1.   
import  cv2
 
# 2.      
faceModel = cv2.CascadeClassifier('./haarcascade_frontalface_alt.xml')
 
# 3.     
capture = cv2.VideoCapture(0)
 
# 4.          
while True:
    #4.1        
    ret,image = capture.read()
 
    #4.2    
    gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)
    
    #4.3    
    # faces = faceModel.detectMultiScale(gray,1.1,3,0)
    faces = faceModel.detectMultiScale(
        gray,
        scaleFactor=1.15,
        minNeighbors=5,
        minSize=(5, 5),
        # flags=cv2.cv.CV_HAAR_SCALE_IMAGE 
    )
    print("  {0}   !".format(len(faces)))
 
    #4.4    
    for(x,y,w,h) in faces:
        # 1.     2.       3.      4,     5,  
        cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,255),2)
 
    #4.5    
    cv2.imshow('       ',image)
 
    #4.6    
    if cv2.waitKey(5) & 0xFF == ord('q'):
        break
 
# 5.    
capture.release()
 
# 6.    
cv2.destroyAllWindows()