0

基本上,我只想要这三样东西。

颜色、深度和骨架。但我也希望深度和颜色对齐。

我知道在官方示例中,有 GreenScreen.cpp,它是深度/颜色剪切的示例,但没有骨架。还有 SkeletonBasics,它有一个骨架,但没有图像。

我已经尝试向他们学习并一起实现它们,但是当骨架准备好时我从来没有收到回调(这个:m_hNextSkeletonEvent)。

SkeletonBasics.cpp 使用这个:

    hEvents[0] = m_hNextSkeletonEvent;

    // Check to see if we have either a message (by passing in QS_ALLEVENTS)
    // Or a Kinect event (hEvents)
    // Update() will check for Kinect events individually, in case more than one are signalled
    DWORD dwEvent = MsgWaitForMultipleObjects(eventCount, hEvents, FALSE, INFINITE, QS_ALLINPUT);

    // Check if this is an event we're waiting on and not a timeout or message
    if (WAIT_OBJECT_0 == dwEvent)
    {
        Update();
    }

GreenScreen.cpp 使用这个:

    hEvents[0] = m_hNextDepthFrameEvent;
    hEvents[1] = m_hNextColorFrameEvent;

    // Check to see if we have either a message (by passing in QS_ALLINPUT)
    // Or a Kinect event (hEvents)
    // Update() will check for Kinect events individually, in case more than one are signalled
    DWORD dwEvent = MsgWaitForMultipleObjects(eventCount, hEvents, FALSE, INFINITE, QS_ALLINPUT);

    // Check if this is an event we're waiting on and not a timeout or message
    if (WAIT_OBJECT_0 == dwEvent || WAIT_OBJECT_0 + 1 == dwEvent)
    {
        Update();
    }

但是,就像我说的,将它们结合起来不会产生

如果(WAIT_OBJECT_0 == WaitForSingleObject(m_hNextSkeletonEvent,0))

正在发生。(KinectBridgeWithOpenCVBasics-D2D 也有骨架、颜色和深度,但仍然是未对齐的(就像我在搜索中找到的这个例子)

你知道为什么事件没有触发吗?或者您是否知道某个地方拥有所有这些能力的例子?我搜索了高低,我尝试了很多不同的东西来弄乱这些例子,但我似乎无法理解。

谢谢你的帮助。

编辑:在 KinectBridgeWithOpenCVBasics 结束时,我留下了一个 m_colorMat 和一个 m_depthMat。即使那时我可以将深度与颜色对齐,我认为这会很好。

4

0 回答 0