python 3.6.3+opencv 3.3.0 동적 얼굴 캡 처 실현

본 논문 의 사례 는 python 이 동태 적 인 얼굴 캡 처 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
순서
cv2 불 러 오기
카메라 캡 처
  • 첫 번 째 프레임 이미지 가 져 오기
  • 얼굴 인식 정보
    4.567917.순환 시작4.567917.첫 번 째 프레임 이미 지 를 식별 한다얼굴 특징 과 네모 난 테 두 리 를 표시 합 니 다디 스 플레이 프레임
    4.567917.모든 것 이 정상 이면 다음 프레임 을 읽 습 니 다.4.567918.
    포획 실패 할 때 까지'q'를 입력 하면 순환 을 종료 합 니 다순환 종료 0순서
    
    import cv2
    import numpy as np
    
    cv2.namedWindow("Face_Detect") #      
    cap=cv2.VideoCapture(0) #       
    success,frame=cap.read() #     
    
    classifier=cv2.CascadeClassifier("C:/opencv-3.3.0/data/haarcascades/haarcascade_frontalface_alt.xml")
    **#            ,      , opencv    ,        **
    
    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()#         
    
     c=chr(key&255)
     if c in ['q','Q',chr(27)]:#    ‘q'    
      print('exit'
    ) break# # cap.release() cv2.destroyAllWindows()
    실행 후 다음 과 같 습 니 다:


    这里写图片描述
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기