我使用以下 c++ 代码从 kinect 中读取深度信息:
BYTE * rgbrun = m_depthRGBX;
const USHORT * pBufferRun = (const USHORT *)LockedRect.pBits;
// end pixel is start + width*height - 1
const USHORT * pBufferEnd = pBufferRun + (Width * Height);
// process data for display in main window.
while ( pBufferRun < pBufferEnd )
{
// discard the portion of the depth that contains only the player index
USHORT depth = NuiDepthPixelToDepth(*pBufferRun);
BYTE intensity = static_cast<BYTE>(depth % 256);
// Write out blue byte
*(rgbrun++) = intensity;
// Write out green byte
*(rgbrun++) = intensity;
// Write out red byte
*(rgbrun++) = intensity;
++rgbrun;
++pBufferRun;
}
我想知道的是,实现帧翻转(水平和垂直)的最简单方法是什么?我在 kinect SDK 中找不到任何功能,但也许我错过了?
EDIT1我不想使用任何外部库,因此任何解释深度数据布局以及如何反转行/列的解决方案都受到高度赞赏。