얼굴인식

Sam (토론 | 기여)님의 2021년 9월 26일 (일) 22:30 판 (새 문서: == 개요 == 얼굴추적을 한 후 해당 얼굴이 어떤 사람의 얼굴인지 파악하는 기술이다. == 구현방법 == 첫 번째 단계로 얼굴찾기를 수행해...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

얼굴추적을 한 후 해당 얼굴이 어떤 사람의 얼굴인지 파악하는 기술이다.

2 구현방법

첫 번째 단계로 얼굴찾기를 수행해주어야 한다.

import dlib  # 얼굴인식
import cv2  # 이미지처리
import numpy as np  # 연산

detector = dlib.get_frontal_face_detector()  # 얼굴탐지모델
predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')  # 얼굴 랜드마크 탐지 모델. 학습된 모델을 가져온다.
cap = cv2.VideoCapture(0)  # 영상 캡쳐. 경로 대신 0을 넣으면 웹캠이 켜진다.

faces = detector(img)  # 디텍터에 이미지를 넣어주어 얼굴을 찾는다.
for face in faces:
    # 인식이 잘 되었는지 확인. 네모 그리기. 기존 이미지에 덧씌워 보여준다.
    img = cv2.rectangle(img, pt1=(face.left(), face.top()), pt2=(face.right(), face.bottom()),
                        color=(255, 255, 255),  # 색 지정이 가능하다.
                        thickness=2,            # 두께지정
                        lineType=cv2.LINE_AA    # 선의 타입 지정
                        )

cv2.imshow('window', img)  # 창에 해당하는 이미지를 띄운다.
cv2.waitKey(1)  # 1ms만큼 대기 해야 창이 제대로 열린다.