OpenCV 웹캠 얼굴인식 (Python)
컴퓨터비전

OpenCV 웹캠 얼굴인식 (Python)

반응형



OpenCV의 가장 기본적인 예제중 하나는 당연 얼굴인식 예제가 아닐까 싶다. 오직 얼굴인식을 구연하기 위해 OpenCV를 설치하는 경우도 있으니 말이다. 다른말로 하면 OpenCV를 처음 시작할때 할 수있는 예제중 가장 매력적인 예제라는 것이다.


OpenCV로 얼굴인식을 하기위해서는 XML파일 하나가 필요하다. 아래에서 다운이 가능하다.


haarcascade_frontalface_default.xml


위 파일을 파이썬과 같은 디렉토리상에 놔둔뒤, 아래 코드를 실행하자. 

(개발환경 : Python 3.6.5, OpenCV 3.4.2, Pycharm python 3.6)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import numpy as np
import cv2
 
detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(0)
 
while (True):
    ret, img = cap.read()
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    faces = detector.detectMultiScale(gray, 1.35)
    for (x, y, w, h) in faces:
        cv2.rectangle(img, (x, y), (x + w, y + h), (25500), 2)
 
    cv2.imshow('frame', img)
    if cv2.waitKey(1& 0xFF == ord('q'):
        break
 
cap.release()
cv2.destroyAllWindows()
cs

실행을 시키면 웹캠을 통해 얼굴인식이 될것이다. 물론 얼굴인식 성능은 그리 좋지 않아 고개를 조금만 돌리면 인식을 잘 못한다.


반응형
    # 테스트용