人体姿势估计关键点提取 - Python 代码示例
将姿势估计结果添加到列表中
pose_results.append([folder_name, results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.NOSE].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_SHOULDER].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_SHOULDER].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_SHOULDER].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_SHOULDER].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_ELBOW].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_ELBOW].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_ELBOW].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_ELBOW].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_WRIST].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_WRIST].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_WRIST].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_WRIST].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_HIP].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_HIP].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_HIP].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_HIP].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_KNEE].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_KNEE].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_KNEE].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_KNEE].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_ANKLE].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_ANKLE].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_ANKLE].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_ANKLE].y])
获取人体姿势信息
pose_data = []
for landmark in results.pose_landmarks.landmark:
pose_data.append(landmark.x)
pose_data.append(landmark.y)
pose_data.append(landmark.z if landmark.z is not None else 0)
这段代码使用循环遍历所有关键点,并提取每个关键点的 x、y 坐标,以及可选的 z 坐标。如果 z 坐标不存在,则使用 0 填充。
总结
通过以上代码示例,您可以轻松地从人体姿势估计结果中提取关键点信息。这些信息可以用于各种应用,例如:
- 姿势分析
- 人机交互
- 运动训练
- 动画制作
希望本文能帮助您更好地理解人体姿势估计的关键点提取方法。
原文地址: http://www.cveoy.top/t/topic/gNgW 著作权归作者所有。请勿转载和采集!