0

我正在做一个使用 kinect 的项目。

我有这个使用三个 dll 的主要项目。一个dll用于c++中的语音识别,另一个用于c++中的姿势识别,第三个dll用于c#中的手势识别。

Speech 使用 kinect 音频流,pose 使用颜色和骨架流,手势使用骨架流。

现在的问题是在初始化 kinect 使用的所有三个流之后,音频和姿势 dll 可以正常工作,但是手势部分是用 C# 编写的,它需要重新初始化 kinect 的骨架流以在其骨架准备好的方法中使用它。

如果我只调用手势 dll 它运行良好,如果我只调用音频和姿势而不调用手势它们也运行良好。

但是调用所有三个只会导致最后一个调用(手势或姿势+音频)运行。

那么请如果有人知道问题可能是什么?

4

1 回答 1

0

但是手势部分是用 C# 编写的,它需要重新初始化 kinect 的骨架流以在其骨架中使用它,从方法中准备好。

这不应该发生。无论是手势库还是姿势库,都不需要初始化 Kinect 的数据流。您应该做所有这些,然后将数据传递给这些库。如果这些库中的任何一个负责初始化流,则应将其替换。

为什么他们不应该初始化流本身的最好例子正是你遇到的。

如果一个或两个都在初始化骨架流时遍历另一个,那么您将需要获取代码并修复它们,使用不同的库或编写自己的库。除非库中有一个只查看数据的函数,否则您错过了该函数,并且不会初始化流。

于 2013-03-12T13:09:36.873 回答