파이썬으로 OpenCV를 이용하여 동영상에서 얼굴 추적하기

이번 글에서는 파이썬과 OpenCV를 사용하여 동영상에서 얼굴을 추적하는 방법에 대해 알아보겠습니다. OpenCV는 컴퓨터 비전과 이미지 처리를 위한 오픈소스 라이브러리이며, 얼굴 인식 및 추적을 위한 다양한 기능을 제공합니다.

환경 설정

먼저, OpenCV를 설치해야 합니다. 파이썬에서 OpenCV를 사용하기 위해 다음 명령을 터미널에서 실행합니다.

pip install opencv-python

또한, 얼굴을 인식하고 추적하는 데 필요한 haarcascade xml 파일을 다운로드해야 합니다. 이 파일은 OpenCV에서 제공되는 얼굴 인식 모델입니다. 원본 비디오 파일도 준비해야 합니다.

얼굴 추적 코드

다음은 얼굴을 추적하는 간단한 코드입니다.

import cv2

# 얼굴 인식 모델 로드
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# 비디오 파일 열기
cap = cv2.VideoCapture('video.mp4')

while True:
    # 비디오에서 프레임 읽기
    ret, frame = cap.read()

    if not ret:
        break
    
    # 프레임을 흑백으로 변환
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # 얼굴 인식
    faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))

    # 얼굴에 사각형 그리기
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)

    # 화면에 프레임 표시
    cv2.imshow('Video', frame)

    if cv2.waitKey(1) == ord('q'):
        break

# 작업 완료 후 리소스 해제
cap.release()
cv2.destroyAllWindows()

위의 코드에서는 haarcascade_frontalface_default.xml 파일을 사용하여 얼굴을 인식하고, 사각형을 그려서 얼굴을 표시합니다. video.mp4는 추적하려는 동영상 파일의 이름으로 바꿔주어야 합니다.

실행

위 코드를 저장한 후, 터미널에서 파이썬 파일을 실행하여 동영상에서 얼굴 추적을 확인할 수 있습니다.

python face_tracking.py

결론

이번 글에서는 파이썬과 OpenCV를 이용하여 동영상에서 얼굴을 추적하는 방법을 알아보았습니다. OpenCV의 얼굴 인식 기능을 활용하면 보다 쉽게 얼굴 추적 애플리케이션을 개발할 수 있습니다. OpenCV의 다른 기능을 활용하여 더 다양한 영상 처리 및 컴퓨터 비전 작업도 가능합니다.