파이썬으로 OpenCV를 이용하여 동영상에서 얼굴 감지하기
이 블로그 포스트에서는 파이썬과 OpenCV를 사용하여 동영상에서 얼굴을 감지하는 방법에 대해 알아보겠습니다.
1. OpenCV 설치하기
먼저, OpenCV를 설치해야 합니다. 아래 명령어를 사용하여 파이썬에서 OpenCV를 설치할 수 있습니다.
pip install opencv-python
2. 동영상에서 얼굴 감지하기
다음은 OpenCV를 사용하여 동영상에서 얼굴을 감지하는 간단한 예시 코드입니다.
import cv2
# 얼굴 감지를 위한 Haar Cascade 분류기 로드하기
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 동영상 파일 열기
video = cv2.VideoCapture('video.mp4')
while True:
# 동영상의 프레임 읽어오기
ret, frame = video.read()
if ret:
# 프레임을 흑백으로 변환하기
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('Video', frame)
# 'q' 키 입력 시 종료
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# 동영상 재생이 끝난 후 해제
video.release()
cv2.destroyAllWindows()
위의 코드는 주어진 동영상 파일에서 각 프레임을 읽어와 흑백으로 변환하고, Haar Cascade 분류기를 사용하여 얼굴을 감지한 후, 감지된 얼굴 주변에 사각형을 그려주는 예시입니다.
3. 실행하기
위의 코드를 실행하기 전에, haarcascade_frontalface_default.xml
파일을 다운로드하여 같은 디렉토리에 저장해야 합니다. 이 파일은 OpenCV에서 제공하는 얼굴 인식을 위한 분류기입니다.
다음으로, 얼굴을 감지할 동영상 파일을 video.mp4
로 변경해야 합니다. 적절한 동영상 파일을 준비하고 파일 이름을 맞추어주세요.
코드를 실행하면 동영상이 재생되며, 얼굴이 감지되면 해당 부분에 사각형이 그려집니다. ‘q’ 키를 눌러 동영상 재생을 종료할 수 있습니다.
4. 마무리
이번 포스트에서는 파이썬과 OpenCV를 사용하여 동영상에서 얼굴을 감지하는 방법을 알아보았습니다. OpenCV를 활용하면 다양한 컴퓨터 비전 작업을 수행할 수 있으며, 얼굴 감지는 그 중 한 가지 예시입니다. 파이썬과 OpenCV를 활용하여 여러분만의 프로젝트를 시작해보세요!
References: