Python 姿势估计:将关键点信息添加到列表中
将姿势估计结果添加到列表中
在使用 MediaPipe 进行姿势估计后,您可以将提取的关键点信息添加到列表中,以便进一步分析和处理。以下示例代码展示了如何将关键点信息添加到列表中:
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.NOSE].z,
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.LEFT_SHOULDER].z,
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.RIGHT_SHOULDER].z,
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.LEFT_ELBOW].z,
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.RIGHT_ELBOW].z,
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.LEFT_WRIST].z,
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.RIGHT_WRIST].z,
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.LEFT_HIP].z,
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.RIGHT_HIP].z,
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.LEFT_KNEE].z,
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.RIGHT_KNEE].z,
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.LEFT_ANKLE].z,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_ANKLE].x,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_ANKLE].y,
results.pose_landmarks.landmark[mp_pose.PoseLandmark.RIGHT_ANKLE].z])
该代码片段展示了如何获取每个关键点的 X、Y、Z 坐标,并构建一个包含所有关键点信息的列表。您可以根据需要修改关键点列表,添加或删除关键点信息。
获取人体姿势信息
您可以使用以下代码获取人体姿势信息,并将其存储在列表中:
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 坐标添加到列表 pose_data 中。如果 Z 坐标不存在,则将其设置为 0。
总结
通过使用以上示例代码,您可以轻松地提取人体姿势的关键点信息,并将其存储在列表中,以便进行进一步的分析和处理。
原文地址: http://www.cveoy.top/t/topic/gNhN 著作权归作者所有。请勿转载和采集!