CV2 얼굴 동적 포착

CV2 얼굴 동적 포착
소스 코드
설치: pip install openCV - python
import cv2
import numpy as np
 
cv2.namedWindow("Face_Detect") #      
cap=cv2.VideoCapture(0) #       
success,frame=cap.read() #     
path = 'C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect'
classifier=cv2.CascadeClassifier("./haarcascade_frontalface_alt.xml")
classifier.load(path+'\haarcascade_frontalface_default.xml')
 
while success:#       
    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=(int(w/divisor),int(h/divisor)) #       ,   w//divisor

    faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize)
    #    

    if len(faceRects)> 0:
        for faceRect in faceRects:
            x,y,w,h=faceRect
            cv2.circle(frame,(x+w//2,y+h//2),min(w//2,h//2),(255,0,0),2) #    
            cv2.circle(frame,(x+w//4,y+2*h//5),min(w//8,h//8),(0,255,0),2) #    
            cv2.circle(frame,(x+3*w//4,y+2*h//5),min(w//8,h//8),(0,255,0),2)#    
            cv2.circle(frame,(x+w//2,y+2*h//3),min(w//8,h//8),(0,255,0),2) #    
            cv2.rectangle(frame, (x, y), (x+w, y+h), (0,0,255),2)   #    

    cv2.imshow("Face_Detect",frame)
    #    
    success,frame=cap.read()#         
    key = cv2.waitKey(200)
    c=chr(int(key)&255)
    if c in ['q','Q',chr(27)]:#    ‘q'    
        print('exit')
        break#    
 
 #       
cap.release()
cv2.destroyAllWindows()

주의:
* * windows 시스템 플랫폼 에서 실 행 될 경우 다음 과 같은 오류 가 발생 할 수 있 습 니 다. * error: OpenCV (3.4.3) C: \ \ projects \ \ opencv - python \ \ opencv \ modules \ object \ src \ \ cascadedetect. cpp: 1698: error: (- 215: Assertion failed)!empty () in function 'cv:: Cascade Classifier:: detect MultiScale' * 해결 방법: * C: \ \ projects \ \ opencv - python \ \ opencv \ modules \ \ object \ src \ \ cascadedetect 디 렉 터 리 에서 haarcascadefrontalface_디 렉 터 리 에 default. xml 파일 추가

좋은 웹페이지 즐겨찾기