在使用kinect录制时获取将其写入BVH文件的帧总数

时间:2013-05-13 20:17:55

标签: c# kinect frames

我正在尝试将骨架数据写入BVH文件,因为我需要获取帧的总数,并在关节数据之前将其写为bvh文件的层次结构。 函数SensorSkeletonFrameReady允许我拥有帧号,但我正在使用此函数提取每个帧的关节数据并将其直接写入bvh文件。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

BVH文件具有文件中表示的总帧数。在完成录制之前,不可能知道这个数字。

使用SkeletonFrameReady事件,您可以:

  1. 将数据保存到List(或其他一些数组类型结构)
  2. 停止录制并计算帧数(即List项目)
  3. 使用总帧数编写文件
  4. ......或......

    1. 实时输出文件(正如您在问题中指出的那样),保持帧数的运行总计
    2. 尽可能停止录制并关闭文件
    3. 重新打开文件,搜索“框架”行并输入您存储的相应值
    4. ......或......

      1. 实时输出骨架追踪数据
      2. 继续寻找文件中定义帧的位置并不断更新,然后回到最后写下一帧。
      3. 我并不是真的认真对待最后一个。但这一切都归结为在你完成之前你不知道帧数!你必须先完成你的录音,然后才能在文件中输出该行。

        除非您录制真正的长会话,否则将数据存储在List中,然后在停止后写入数据文件是最直接的方法。在我看来。