[python] OpenCV를 사용하여 이미지에서 사람 얼굴 인식하기

이미지 처리 및 컴퓨터 비전 분야에서 많이 사용되는 OpenCV 라이브러리는 Python에서도 사용할 수 있습니다. OpenCV를 활용하면 사람 얼굴을 감지하고 인식하는 것과 같은 다양한 작업을 수행할 수 있습니다.

1. OpenCV 설치

우선 Python 환경에서 OpenCV를 사용하기 위해 먼저 OpenCV를 설치해야 합니다. 아래의 명령어를 사용하여 pip를 통해 OpenCV를 설치할 수 있습니다.

pip install opencv-python

2. 이미지에서 얼굴 인식하기

OpenCV는 이미지에서 얼굴을 인식하는 haarcascade 분류기를 제공합니다. 이 분류기는 사전에 학습된 모델로 얼굴을 인식하는 데 사용됩니다. 아래의 코드를 사용하여 이미지에서 얼굴을 인식하는 예제를 살펴보겠습니다.

import cv2

# 이미지 파일 로드
image = cv2.imread("image.jpg")

# 그레이스케일 변환
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 얼굴 인식용 분류기 로드
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")

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

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

# 결과 이미지 출력
cv2.imshow("Faces", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드는 image.jpg 파일에서 이미지를 로드하고, 그레이스케일로 변환한 후에 haarcascade_frontalface_default.xml 파일을 사용하여 얼굴을 인식합니다. 인식된 얼굴 주위에는 녹색 사각형이 그려집니다.

위의 코드를 실행하면 이미지에 인식된 얼굴이 표시되는 창이 나타납니다.

3. 결론

OpenCV를 사용하여 이미지에서 사람 얼굴을 인식하는 방법을 살펴보았습니다. OpenCV는 다양한 이미지 처리 및 컴퓨터 비전 작업에 대해 강력한 도구입니다. 추가적으로 OpenCV를 사용하여 얼굴 인식을 더욱 고도화하거나, 다른 객체 인식 작업을 수행할 수도 있습니다.

4. 참고 자료