Kinect V2 IR视频流

时间:2014-12-23 16:40:18

标签: kinect

我正在研究一种可以从Kinect V2传感器访问视频流的新应用程序。我已经让应用程序使用标准的RGB和深度视频流...但我遇到了IR视频流的问题。我修改了示例found here以适应我的应用程序...但我作为位图的一部分返回的像素值始终为黑色(即.value = 0)。这是我在MultiSourceFrameArrived事件处理程序中运行的代码部分:

    using (InfraredFrame IRFrame = framew.InfraredFrameReference.AcquireFrame())
    {
      if (IRFrame != null)
      {
        FrameDescription FrameDesc = IRFrame.FrameDescription;
        ushort[] IRData = new ushort[FrameDesc.Width * FrameDesc.Height];
        IRImgBuffer = new byte[4 * FrameDesc.Width * FrameDesc.Height];
        IRFrame.CopyFrameDataToArray(IRData);
        int colorIndex = 0;
        for (int IRIndex = 0; IRIndex < IRData.Length; ++IRIndex)
        {
          ushort depth = IRData[IRIndex];
          ushort ir = IRData[IRIndex];
          byte intensity = (byte)(ir >> 8);

          IRImgBuffer[colorIndex++] = (byte)ir; // Blue
          IRImgBuffer[colorIndex++] = (byte)ir; // Green
          IRImgBuffer[colorIndex++] = (byte)ir; // Red

          ++colorIndex;
        }
        gotframe = true;
      }
    }

因为我似乎无法在调试器中启动它,所以更令人沮丧。如果我在代码中放置一个断点来查看蓝色像素值(例如)是什么 - 调试器似乎永远不会捕获它(不完全确定原因)。任何人都可以帮助我理解为什么强度值总是0?

1 个答案:

答案 0 :(得分:0)

由于图形卡过时,问题似乎正在发生。请参阅此主题:Kinect Infrared Camera Not working。我有一台相对较新的笔记本电脑,但是一旦我更新了我的Nvidia驱动程序,它现在似乎正在运行。