有关C ++开放式姿势编程的问题

时间:2019-02-18 08:43:39

标签: opencv openpose

我是Heo Ji Wook,在韩国一所大学主修信息通信。 请让我们知道您使用的是英语翻译,即使措词不便也能理解。

我正在创建一个C ++程序,该程序可以检查“是否可以使用Openpose以正确的姿势使用计算机?” 我们使用openforce测试了smleton跟踪,在这里我想知道肩膀的关键点是否在一条直线上。 我已经通过Google看到数据已存储在JSON上,但是我不确定。

如果您能给我一个提示,我将不胜感激。 感谢您阅读我的问题。 祝你有美好的一天。

openpose test image

*开发环境

  • Win 10 64 Pro

  • Visual Studio 2017社区

  • CMake 3.13.3

  • Openpose 1.4.0

  • CUDA 8.0.61赢得10

  • Cudnn 8.0赢得10 64 v5.1

2 个答案:

答案 0 :(得分:0)

您绝对可以做到这一点。最简单的方法是:  1运行OpenPoseDemo并将关键点保存在json文件中(--write_json选项-请参见主要标志部分here)  2-解析json文件以获取所需的关键点。有关keyoint ID和json格式,请参见OpenPose输出约定here

答案 1 :(得分:0)

您可以按照@nchaumont建议的关键点将其导出到json文件。或者,您可以通过

将它们直接放入openpose中
  1. 从github Dlib on github下载源代码
  2. 通过文件/include/openpose/pose/wPoseExtractor.hpp中的功能void work(TDatums& tDatums)来实现
  3. 按以下代码获取关键点
  

auto&ProceedData =(* tDatums)[0]; //获取第一人称视角的关键点

     

数组关键点= ProceedData.poseKeypoints;

  1. 然后您可以继续进行关键点