【MediaPipe】 AI视觉,人体姿态关键点实时跟踪,附python完整代码

软件: LANDMARK
全方位数据报表
许可分析

许可分析

免费体验
识别闲置、及时回收
许可优化

许可优化

免费体验
多维度智能分析
许可分析

许可分析

免费体验
减少成本、盘活许可
许可优化

许可优化

免费体验

一、导入必要的工具包:

1. opencv:通过`pip install opencvcontribpython`进行安装。

欢迎浏览: 【MediaPipe】 AI视觉,人体姿态关键点实时跟踪,附python完整代码


2. mediapipe:使用命令`pip install mediapipe`来安装。

或者在遇到user错误时,可通过`pip install mediapipe user`进行安装。

二、定义关键函数及其说明:

mediapipe.solutions.pose.Pose():用于姿势关键点检测。

static_image_mode: 默认为False,适用于视频流,检测并跟踪最显眼的人的姿势地标。若设为True,应用于每张输入图像的独立人像检测。

model_complexity: 默认为1,表示复杂度等级,选择更高值可增加地标精确度但牺牲速度,更低值则反而加快速度。

smooth_landmarks: 默认为True,用来平滑地标准备注释图像以减少抖动。

upper_body_only: 默认为False,若设为True,只检测上半身的地标。

enable_segmentation: 默认为False,如果开启,额外生成分割掩码。

smooth_segmentation: 默认为True,用于分割掩码的平滑处理。

min_detection_confidence: 默认为0.5,人形检测的最低置信度阈值。

min_tracking_confidence: 默认为0.5,地标跟踪的最低置信度阈值,解决跟踪失败后的状态。

返回: 包含“pose_landmarks”的命名元组对象。


三、图像处理与关键点绘制:

1. 使用`cv2.VideoCapture()`读取视频文件,注意文件路径避免中文以防止出现错误。

2. 访问每帧图像,利用循环不断提取。

3. 确保读取的视频格式转换为实现检测所需的RGB格式(通常先读为BGR):“cv2.COLOR_BGR2RGB”。

4. mediapipe.solutions.drawing_utils.draw_landmarks() 功能用来绘制关键点之间的连接线,提供更丰富直观的可视化结果。

四、关键点坐标保存与编辑:


引入代码对检索的关键点坐标进行保存,以数值的方式进行可视化(例如:


```markdown


lmlist = []


...

for index, lm in enumerate(results.pose_landmarks.landmark):

w, h, c = img.shape


cx, cy = int(lm.x w), int(lm.y h)


print(index, cx, cy)


lmlist.append((cx, cy)


```

index-foot-banner-pc index-foot-banner-phone

点击一下 免费体验万千客户信任的许可优化平台

与100+大型企业一起,将本增效

与100+大型企业一起,将本增效

申请免费体验 申请免费体验