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
반응형