是否可以从OpenPose库中实时输出JSON数据

Is it possible to output JSON data from the OpenPose library in real-time?

本文关键字:实时输出 JSON 数据 OpenPose 是否      更新时间:2023-10-16

我正在尝试使用OpenPose姿势估计库(C++(输出身体位置信息,以便使用超级对撞机创建声音。

JSON信息以文件形式输出,我想实时输出数据。我尝试查看OpenPose的源代码,但找不到指定输出格式的任何特定部分。"filestream"文件夹中的头文件似乎只包含变量声明,如下所示:

#ifndef 
OPENPOSE_FILESTREAM_DATA_SAVER_HPP
#define 
OPENPOSE_FILESTREAM_DATA_SAVER_HPP
#include <openpose/core/common.hpp>
#include <openpose/utilities/string.hpp>
namespace op
{
    class OP_API FileSaver
    {
     protected:
        explicit FileSaver(const std::string& directoryPath);
        virtual ~FileSaver();
        std::string getNextFileName(const unsigned long long index) const;
        std::string getNextFileName(const std::string& fileNameNoExtension) const;
    private:
        const std::string mDirectoryPath;
    };
}
#endif // OPENPOSE_FILESTREAM_DATA_SAVER_HPP

我希望找到一个文件路径或类似的东西,引导我朝着数据输出的方向前进。如果有人熟悉这个库,并能为我指出正确的方向,我们将不胜感激。

我的计划是使用夸克 API 通过 OSC 将关键点数据发送到超级对撞机。我使用的是 MacOS X 10.11.6。

如果您已经下载了Openpose示例代码,则在文件中openpose.cpp,您会找到以下行

DEFINE_string(write_json,"","Directory to write OpenPose output in JSON format. It includes body, hand, and face pose keypoints (2-D and 3-D), as well as pose candidates (if `--part_candidates` enabled).");

json 输出文件的路径由 main 的参数 --write_json 指定。例如:

c:>openpose.exe --video "D:\user\video.avi"--write_json "D:\user\desktop\output.json">

输入是视频">D:\user\video.avi",json 输出是">D:\user\desktop\output.json">

注意:如果不使用参数 --write_json,它不会写入 json 输出。

更新 1:如果要直接访问关键点,可以按照如何访问姿势关键点进行操作