次の 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外部ライブラリを使用する必要がないようにしたいので、深度データのレイアウトと行/列を反転する方法を説明するソリューションは高く評価されています。