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

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

我正在尝试使用 OpenPose pose estimation library (C++) to output body position information in order to create sound using SuperCollider

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

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

我的计划是使用Quarks API to send the keypoint data to SuperCollider through 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输出。

更新一: 如果你想直接访问关键点,你可以按照