我需要从使用Kinect Studio录制的XEF文件中获取颜色和深度帧。
使用Kinect时访问颜色和深度帧的代码如下所示:
_sensor = KinectSensor.GetDefault();
if (_sensor != null)
{
_sensor.Open();
_reader = _sensor.OpenMultiSourceFrameReader(FrameSourceTypes.Color | FrameSourceTypes.Depth | FrameSourceTypes.Infrared | FrameSourceTypes.Body);
_reader.MultiSourceFrameArrived += Reader_MultiSourceFrameArrived;
_coordinateMapper = _sensor.CoordinateMapper;
}
在private void Reader_MultiSourceFrameArrived(object sender, MultiSourceFrameArrivedEventArgs e)
我的魔法,这是有效的。
现在我如何使用预先录制的XEF文件进行此操作?
我知道我可以像这样加载一个XEF文件:
var kStudioClient = KStudio.CreateClient();
var eventFile = kStudioClient.OpenEventFile(@"D:\Kinect Studio Recordings\20170922_083134_00.xef");
但是如何从中获取MultiSourceFrame?
非常感谢任何帮助!谢谢!
答案 0 :(得分:0)
您使用KStudioClient API处于正确的轨道上。如果您尚未自己实现,则还应该使用KStudioPlayback
类来异步播放XEF剪辑。我不会在这个阶段解释并给出确切的代码如何回放 - API很容易理解。正确使用此类将自动发出MultiSourceFrameArrived
个事件,因此您现在需要更改处理它们的方式。
以下是您需要了解的所有内容,以便快速了解KStudioPlayback
课程 - KStudioPlayback class API。如果您需要代码示例,发表评论,我会回复您。