如何保存从Kinect 2.0收集的body数据并将其保存在JSON文件中



我正在为项目使用LightBuzz库。我正在尝试从" bobswrapper _capturebody"中获取数据,然后将iy保存在文件中。" _capturebody"的内容在这里...我尝试序列化对象,然后尝试复制.json文件中的内容,但这是我遇到的错误。我说我无法序列化或脱硫化。这是代码的一小部分:

if (_mode == ViewMode.Capture && _currentBody != null)
        {
            _capturedBody = _currentBody.ToBodyWrapper(); //capture the data of the current body coming from kinect.
            if (i < 1)
            {
                capturebody[i] = _capturedBody;
                i++;
            }
            if (i == 1)   //i want to save the data only once
            {
                string json = new 
                JavaScriptSerializer().Serialize(_capturedBody);
                //write string to file
                System.IO.File.WriteAllText(@"C:path.json", json);
            }
        }

您可以使用此链接" https://vitruviuskinect.com/documentation/windows/html/e07dd042d042-e9f1-c9b8-2e94-c20576115f3d.htm"

关节是一个带有钥匙intikepe的词典。如您在例外中所见,键需要是字符串或对象。我认为,如果您建立自己的班级系统(将构造函数与身体作为参数为论证)更好,然后确保它是可序列化的。这意味着您需要更改该属性。根据自己的经验,我试图远离词典和JSON。也许将其转换为具有带有枚举额外属性的自定义联合类的类。

我自己现在已经解决了这个问题。这是我所做的,

我使用方法tojson序列化kinect身体对象。

string json = body.ToJSON();   //The body contains all the Kinect generated data.

然后我使用:

保存了文件
File.SaveAllText(json, "path-of-file.json");

如果上述语法不起作用,则您也可以用于保存.json文件:

File.WriteAllText(path-of-file,json);

最后一次读取我使用的JSON文件:

BodyWrapper body = File.ReadAllText("path-of-file.json").ToBodyWrapper();

无论如何都感谢您的帮助...: - )

相关内容

  • 没有找到相关文章

最新更新