如何用openpose输出骨骼坐标,但不画出骨骼图
时间: 2024-09-17 16:07:32 浏览: 56
基于yolov5和openpose人体骨骼关键点实现的摔倒姿态识别检测系统源码+模型+项目操作说明(高分项目).zip
OpenPose是一个开源的人体关键点检测库,它能够识别并标记出人体各个部位的关键点。如果你想要从OpenPose输出骨骼坐标而不显示可视化结果,你需要跳过它的绘图步骤。以下是使用Python的OpenPose API获取骨骼坐标的基本流程:
1. 首先,安装OpenPose,并下载预训练模型。你可以访问其官方GitHub页面获取安装指南:https://github.com/CMU-Perceptual-Computing-Lab/openpose
2. 导入必要的库和模块:
```python
import numpy as np
from openpose import pyopenpose as op
```
3. 初始化OpenPose实例并指定模型路径:
```python
params = dict()
params["model_folder"] = "path_to_your_openpose_model"
params["face"] = False # 如果不需要人脸识别,设置为False
params["hand"] = True # 是否检测手部,根据需要开启或关闭
opWrapper = op.WrapperPython()
opWrapper.configure(params)
opWrapper.start()
```
4. 调用`video.read()`读取视频帧,然后传递给OpenPose进行分析:
```python
frame = cap.read()
results = opWrapper.emplaceAndPop(frame) # 结果存储在results变量中
```
5. 获取骨骼坐标:
```python
skeletons = results[0].bodyKeypoints
```
`skeletons` 是一个二维数组,每个元素代表一个关节的坐标,例如 `[x, y]`。注意索引表示身体部位,比如0通常是头,1是肩,以此类推。
6. 可能还需要清理OpenPose资源:
```python
opWrapper.stop()
```
7. 这里只输出了骨骼坐标,如果需要保存数据到文件,你可以选择合适的方式(如CSV、JSON等)保存这些坐标。
阅读全文