我正在尝试使用背景工程来多线程处理Kinect骨架的一些重处理。
然而,当我在backgroundworker中调用传感器的CoordinateMapper时,我得到了FailedQI exeption,HRESULT:0x80004002(E_NOINTERFACE)。
从我到目前为止的理解,似乎是因为我正在访问一个未在我的后台工作中初始化的资源。
导致异常发生的代码:
protected static Point SkeletonPointToScreen(SkeletonPoint skelpoint)
{
KinectSensor sensor = KinectSensorProvider.ProvideSensor();
ColorImagePoint colorPoint = sensor.CoordinateMapper.MapSkeletonPointToColorPoint(skelpoint, ColorImageFormat.RgbResolution640x480Fps30);
return new Point(colorPoint.Y, colorPoint.X);
}
我不明白如何克服这个问题。我试图将CoordinateMapper对象作为参数发送给我的后台工作者,但没有成功。