[python] 이미지에서 얼굴 인식하기

이미지 처리와 인공지능을 활용한 얼굴 인식은 현재 많은 분야에서 사용되고 있습니다. 파이썬의 OpenCV 라이브러리를 활용하여 이미지에서 얼굴을 인식하는 방법을 알아보겠습니다.

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

먼저, OpenCV와 numpy 라이브러리를 설치해야 합니다. 아래의 명령어를 터미널에 입력하여 설치할 수 있습니다.

pip install opencv-python
pip install numpy

얼굴 인식 코드 작성하기

import cv2

# 이미지 파일 불러오기
image = cv2.imread("example.jpg")

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

# 얼굴 인식을 위한 Haar Cascade 분류기 불러오기
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("Detected Faces", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위 코드는 주어진 이미지 파일에서 얼굴을 인식하여 사각형으로 표시하는 코드입니다. OpenCV의 CascadeClassifier 클래스를 사용하여 Haar Cascade 분류기를 불러온 후, detectMultiScale 메서드를 통해 얼굴을 인식합니다.

인식된 얼굴 위치에는 사각형을 그리며, 결과 이미지를 출력합니다.

실행하기

위의 코드를 복사하여 face_detection.py와 같은 이름으로 저장한 후, 이미지 파일의 경로를 알맞게 수정한 뒤 코드를 실행시켜보세요. 얼굴이 인식되면 사각형이 그려진 이미지가 출력될 것입니다.

결론

파이썬의 OpenCV 라이브러리를 사용하면 이미지에서 얼굴을 인식하는 간단한 코드를 작성할 수 있습니다. 얼굴 인식은 컴퓨터 비전 분야에서 많이 활용되는 기술 중 하나이며, 다양한 응용 분야에서 유용하게 활용될 수 있습니다.

참고자료