Mediapipe入门——搭建姿态检测模型并实时输出人体关节点3d坐标

1980阅读 0评论2022-08-11 专注的阿熊
分类:Python/Ruby

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_drawing_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,外汇跟单gendan5.com 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()

上一篇:动手画混淆矩阵(Confusion Matrix)(含代码)
下一篇:Python进阶——网课不愁系列AI换脸技术