我正在开发一个使用kinect的项目。
我有一个使用三个dll的主项目。一个dll用于c ++语音识别,另一个用于c ++中的姿势识别,第三个dll用于c#中的手势识别。
语音使用kinect音频流,pose使用颜色和骨架流,手势使用骨架流。
现在问题是音频和姿势dll在使用kinects所有三个流初始化之后很好地协同工作,但是手势部分是用C#编写的,它需要重新初始化kinect的骨架流,以便在方法的骨架中使用它。 / p>
如果我只调用手势dll它运行正常,如果我只调用音频和姿势而不调用手势,他们都运行良好。
但是调用它们中的所有三个只会导致最后一个被调用(手势或姿势+音频)。
所以,如果有人知道问题可能是什么?
答案 0 :(得分:0)
但是手势部分是用C#编写的,它需要重新初始化kinect的骨架流,以便在方法的骨架中使用它。
这不应该发生。无论是手势还是姿势库,都不需要初始化Kinect的数据流。你应该做所有这些,然后你传递这些库的数据。如果这些库中的任何一个负责初始化流,则应该替换它。
他们不应该自己初始化流的最好例子正是你遇到的。
如果其中一个或两个在初始化骨架流时越过另一个,那么您将需要获取代码并修复它们,使用不同的库或编写自己的库。除非库中只有一个查看数据的函数,否则你错过了,并且没有初始化该流。