컴퓨터비전
OpenCV 웹캠 얼굴인식 (Python)
hydragon516
2018. 7. 29. 00:05
반응형
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.3, 5) for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2) cv2.imshow('frame', img) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() | cs |
실행을 시키면 웹캠을 통해 얼굴인식이 될것이다. 물론 얼굴인식 성능은 그리 좋지 않아 고개를 조금만 돌리면 인식을 잘 못한다.
반응형