Python/OpenCV

[OpenCV] - OpenCV(mediapipe)를 사용하여 얼굴 인식하기

ro-jun 2025. 3. 13. 16:11
728x90
반응형

이번 포스트에서는 OpenCV와 mediapipe를 활용하여 얼굴 인식 방법을 소개합니다.
개발에 앞서 Python 가상환경 구성과 필수 라이브러리 설치(예: opencv-python, mediapipe) 등 개발 환경 세팅 과정도 함께 진행할 예정입니다.

1. 개발 환경 세팅 및 필수 라이브러리 설치

먼저, OpenCV 기반 프로젝트를 진행하기 위한 개발 환경을 구성합니다. Anaconda를 이용해 별도의 가상환경(OpenCV)을 생성하고, VS Code를 통해 코드를 작성할 수 있습니다.

# 가상환경 생성 및 활성화
conda create -n OpenCV python=3.11 -y
conda activate OpenCV

# 필수 라이브러리 설치
pip install opencv-python
pip install mediapipe
pip install pyautogui

 

2. mediapipe를 사용하여 얼굴 인식하기
import mediapipe as mp
import cv2

# 얼굴 영역 검출 라이브러리
mp_face_detection = mp.solutions.face_detection
# 랜드마크 검출 라이브러리
mp_drawing = mp.solutions.drawing_utils

# 웹캠 사용
cap = cv2.VideoCapture(0)

# 얼굴 검출
try:
    with mp_face_detection.FaceDetection(
        model_selection=0, min_detection_confidence=0.5
    ) as face_detection:
        while cap.isOpened():
            success, image = cap.read()
            if not success:
                print("웹캠 연결 실패")
                break

            # RGB 변환
            image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
            # 성능을 향상시키려면 이미지를 작성 여부를 False으로 설정하세요.
            image.flags.writeable = False
            results = face_detection.process(image)
            # 영상에 얼굴 감지 주석 그리기 기본값 : True.
            image.flags.writeable = True
            image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)

            if results.detections:
                # print(results.detections) #디버깅용으로 추가
                for detection in results.detections:
                    mp_drawing.draw_detection(image, detection)
            cv2.imshow("MediaPipe 얼굴 검출", image)
            # ESC 키로 종료
            if cv2.waitKey(5) & 0xFF == 27:
                break
finally:
    cap.release()
    cv2.destroyAllWindows()

요약
  • 개발 환경 세팅: Anaconda로 Python 가상환경을 구성하고, VS Code와 함께 opencv-python, mediapipe 등의 라이브러리를 설치합니다.
  • 얼굴 검출: mediapipe의 face_detection을 이용해 웹캠에서 얼굴을 검출.
728x90
반응형