Mediapipe入門——搭建姿態檢測模型並實時輸出人體關節點3d座標

專注的阿熊發表於2022-08-11

import cv2

import mediapipe as mp

mp_drawing = mp.solutions.drawing_utils

mp_drawing_styles = mp.solutions.drawing_styles

mp_holistic = mp.solutions.holistic

cap = cv2.VideoCapture(0)

with mp_holistic.Holistic(

     min_detection_confidence=0.5,

     min_tracking_confidence=0.5) as holistic:

   while cap.isOpened():

     success, image = cap.read()

     if not success:

       print("Ignoring empty camera frame.")

       # If loading a video, use 'break' instead of 'continue'.

       continue

     image.flags.writeable = False

     image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

     results = holistic.process(image)

# 畫圖

     image.flags.writeable = True

     image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)

     mp_drawing.draw_landmarks(

         image,

         results.face_landmarks,

         mp_holistic.FACEMESH_CONTOURS,

         landmark_drawing_spec=None,

         connection_跟單網gendan5.comdrawing_spec=mp_drawing_styles

         .get_default_face_mesh_contours_style())

     mp_drawing.draw_landmarks(

         image,

         results.pose_landmarks,

         mp_holistic.POSE_CONNECTIONS,

         landmark_drawing_spec=mp_drawing_styles

         .get_default_pose_landmarks_style())

     mp_drawing.draw_landmarks(image, results.left_hand_landmarks, mp_holistic.HAND_CONNECTIONS)

     mp_drawing.draw_landmarks(image, results.right_hand_landmarks, mp_holistic.HAND_CONNECTIONS)

# 右手 21 個節點座標

     if results.right_hand_landmarks:

         for index, landmarks  in enumerate(results.right_hand_landmarks.landmark):

             print(index,landmarks )

# 鼻子座標

     #print(results.pose_landmarks.landmark[mp_holistic.PoseLandmark.NOSE])

     cv2.imshow('MediaPipe Holistic', cv2.flip(image, 1))

     if cv2.waitKey(5) & 0xFF == 27:

       break

cap.release()


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2909977/,如需轉載,請註明出處,否則將追究法律責任。

相關文章