在用kinect录制时获取帧数并写入BVH文件

本文关键字:BVH 文件 kinect 获取 在用 | 更新日期: 2023-09-27 18:13:17

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

有谁能帮帮我吗?

在用kinect录制时获取帧数并写入BVH文件

BVH文件具有文件中表示的帧总数。在你记录完之前,是不可能知道这个号码的。

使用SkeletonFrameReady事件可以:

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

…还是…

  1. 实时输出文件(如您在问题中所示),保持帧数的运行总数
  2. 停止录制并尽可能关闭文件
  3. 重新打开文件,查找到你的"frames"行并输入你存储的合适的值

…还是…

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

我并没有把最后一个太当回事。但这一切都归结为一个事实,你不知道帧数,直到你完成!你必须先完成你的记录,然后再输出文件中的那一行。

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