一个很好玩的关键点检测的Dome

特辣番茄炒鸡蛋 2023-09-02 15:40:50
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.left_hand_landmarks:
            for index, landmarks in enumerate(results.left_hand_landmarks.landmark):
                print('L: ')
                print(index, landmarks)

        if results.right_hand_landmarks:
            for index, landmarks in enumerate(results.right_hand_landmarks.landmark):
                print('R: ')
                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()

 

...全文
34 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

43

社区成员

发帖
与我相关
我的任务
社区描述
这里是用来分享生物医学工程相关的前沿科技、个人的作品分享、分享遇到的大佬和相互讨论相关的话题。
健康医疗智能硬件硬件工程 个人社区
社区管理员
  • 特辣番茄炒鸡蛋
  • pinganshunsui
  • Mi丶458
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

加入社区的各位可以将你们各个渠道的文章迁移过来这里,在CSDN创建社区是为了更好地服务到各位生物医学工程的学子,将中国的生物医学工程发展起来,让更多人了解到生物医学工程这个专业,同时,也为了解答刚加入生物医学工程这个大家庭的新人宝宝们。

试试用AI创作助手写篇文章吧