바뀜

둘러보기로 가기 검색하러 가기
23 바이트 제거됨 ,  2021년 9월 26일 (일) 16:11
52번째 줄: 52번째 줄:  
     faces = detector(img)  # 디텍터에 이미지를 넣어주어 얼굴을 찾는다.
 
     faces = detector(img)  # 디텍터에 이미지를 넣어주어 얼굴을 찾는다.
 
     try:
 
     try:
         face = faces[0]  # 인식된 얼굴 중 첫번째.
+
         for face in faces:
        # 인식이 잘 되었는지 확인. 네모 그리기. 기존 이미지에 덧씌워 보여준다.
+
            # 인식이 잘 되었는지 확인. 네모 그리기. 기존 이미지에 덧씌워 보여준다.
        img = cv2.rectangle(img, pt1=(face.left(), face.top()), pt2=(face.right(), face.bottom()),
+
            img = cv2.rectangle(img, pt1=(face.left(), face.top()), pt2=(face.right(), face.bottom()),
                            color=(255, 255, 255),  # 색 지정이 가능하다.
+
                                color=(255, 255, 255),  # 색 지정이 가능하다.
                            thickness=2,            # 두께지정
+
                                thickness=2,            # 두께지정
                            lineType=cv2.LINE_AA    # 선의 타입 지정
+
                                lineType=cv2.LINE_AA    # 선의 타입 지정
                            )
+
                                )
 
     except:  # 얼굴이 없으면 faces[0]에서 인덱스 에러가 뜬다. 그럴 땐 그냥 패스!
 
     except:  # 얼굴이 없으면 faces[0]에서 인덱스 에러가 뜬다. 그럴 땐 그냥 패스!
 
         pass
 
         pass
 
     cv2.imshow('window', img)  # 창에 해당하는 이미지를 띄운다.
 
     cv2.imshow('window', img)  # 창에 해당하는 이미지를 띄운다.
 
     cv2.waitKey(1)  # 1ms만큼 대기 해야 창이 제대로 열린다.
 
     cv2.waitKey(1)  # 1ms만큼 대기 해야 창이 제대로 열린다.
 +
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
81번째 줄: 82번째 줄:  
     faces = detector(img)  # 디텍터에 이미지를 넣어주어 얼굴을 찾는다.
 
     faces = detector(img)  # 디텍터에 이미지를 넣어주어 얼굴을 찾는다.
 
     try:
 
     try:
         face = faces[0]  # 인식된 얼굴 중 첫번째.
+
         for face in faces:
        dlib_shape = predictor(img, face)  # 특징점을 리턴받는다.
+
            dlib_shape = predictor(img, face)  # 특징점을 리턴받는다.
        shape_2d = np.array([[p.x, p.y] for p in dlib_shape.parts()])  # 연산을 위해 배열로 저장.
+
            shape_2d = np.array([[p.x, p.y] for p in dlib_shape.parts()])  # 연산을 위해 배열로 저장.
        for s in shape_2d:  # 해당 좌표에 원 그리기. 68개의 특징점을 찾는다.
+
            for s in shape_2d:  # 해당 좌표에 원 그리기. 68개의 특징점을 찾는다.
            cv2.circle(img, center=tuple(s), radius=1, color=(255, 255, 255), thickness=2, lineType=cv2.LINE_AA)
+
                cv2.circle(img, center=tuple(s), radius=1, color=(255, 255, 255), thickness=2, lineType=cv2.LINE_AA)
 
     except:
 
     except:
 
         pass
 
         pass

둘러보기 메뉴