0

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

任何人都可以帮助我吗?

4

1 回答 1

0

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

使用该SkeletonFrameReady事件,您可以:

  1. 将数据保存到List(或其他数组类型结构)
  2. 停止记录并计算帧数(即List项目)
  3. 写你的文件,总帧数

... 或者 ...

  1. 实时输出文件(如您在问题中指出的那样),保持总帧数
  2. 尽可能停止录制并关闭文件
  3. 重新打开文件,寻找你的“框架”行并输入你存储的适当值

... 或者 ...

  1. 实时输出骨骼跟踪数据
  2. 继续寻找文件中定义帧的位置并不断更新它,然后返回到末尾以写入下一帧。

我并没有把最后一个太当回事。但这一切都归结为这样一个事实,即在完成之前您不知道帧数! 在文件中输出该行之前,您必须先完成录制。

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

于 2013-05-13T22:23:26.013 回答