python을 설치 후 cmd에 다음 명령어 anaconda 가상환경 등...
pip install mediapipe opencv-python
집 데스크탑에서는 잘 웹캠 로딩이 느릴 수 있다. 참고
cv2 로드 전 다음 코드 입력
import os
os.environ["OPENCV_VIDEOIO_MSMF_ENABLE_HW_TRANSFORMS"] = "0"
오류 발생
the function is not implemented. rebuild the library with windows gtk+ 2.x or cocoa support~~
해결책 아나콘다 프롬프트에서
conda update conda
pip uninstall opencv-python-headless
pip install opencv-python
을 하니까 해결됨
import cv2
import mediapipe as mp
import numpy as np
mp_drawing = mp.solutions.drawing_utils
mp_drawing_styles = mp.solutions.drawing_styles
mp_pose = mp.solutions.pose
# 웹캠, 영상 파일의 경우 이것을 사용하세요.:
cap = cv2.VideoCapture(0)
with mp_pose.Pose(
min_detection_confidence=0.5,
min_tracking_confidence=0.5) as pose:
while cap.isOpened():
success, image = cap.read()
if not success:
print("카메라를 찾을 수 없습니다.")
# 동영상을 불러올 경우는 'continue' 대신 'break'를 사용합니다.
continue
# 필요에 따라 성능 향상을 위해 이미지 작성을 불가능함으로 기본 설정합니다.
image.flags.writeable = False
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
results = pose.process(image)
# 포즈 주석을 이미지 위에 그립니다.
image.flags.writeable = True
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
mp_drawing.draw_landmarks(
image,
results.pose_landmarks,
mp_pose.POSE_CONNECTIONS,
landmark_drawing_spec=mp_drawing_styles.get_default_pose_landmarks_style())
# 보기 편하게 이미지를 좌우 반전합니다.
cv2.imshow('MediaPipe Pose', cv2.flip(image, 1))
if cv2.waitKey(5) & 0xFF == 27:
break
cap.release()