[python] 파이썬으로 웹캠에서의 얼굴 감지하기

최근에는 컴퓨터 비전 기술로 인해 객체 감지 및 추적이 많이 개선되었습니다. 파이썬을 사용하여 웹캠에서 얼굴을 식별하는 것은 놀라울 정도로 간단하며, OpenCV 라이브러리를 활용하여 구현할 수 있습니다.

필요한 라이브러리 설치하기

우선, OpenCV를 설치해야 합니다. 다음 명령어를 사용하여 OpenCV를 설치할 수 있습니다.

pip install opencv-python

웹캠에서 얼굴 감지하기

아래 예시 코드를 통해 웹캠에서 얼굴을 식별해 보겠습니다.

import cv2

# 얼굴 검출을 위한 분류기
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# 웹캠에서 영상을 읽어옴
cap = cv2.VideoCapture(0)

while True:
    # 영상 프레임을 읽어옴
    ret, frame = cap.read()
    
    # 그레이스케일로 변환
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # 얼굴 검출
    faces = face_cascade.detectMultiScale(gray, 1.1, 4)
    
    # 검출된 얼굴 주변에 사각형 그리기
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)
    
    # 화면에 보여주기
    cv2.imshow('Face Detection', frame)
    
    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 웹캠 해제
cap.release()
cv2.destroyAllWindows()

위 코드를 실행하면 웹캠에서 실시간으로 얼굴을 검출할 수 있습니다. ‘haarcascade_frontalface_default.xml’ 파일은 OpenCV 설치시 함께 제공되는 얼굴 검출을 위한 분류 파일입니다.

이것으로 파이썬을 사용하여 웹캠에서의 얼굴을 감지하는 간단한 예시를 살펴보았습니다.