- 注册时间
- 2011-11-2
- 最后登录
- 2012-2-21
- 阅读权限
- 10
- 积分
- 22
- 精华
- 0
- 帖子
- 5

 - 分享
- 0
- 主题
- 0
|
20091001753 发表于 2011-8-3 12:57 
回复 tiangler 的帖子
其实我“NuiImageGetColorPixelCoordinatesFromDepthPixel”从来都没成功过。
NuiImageGetColorPixelCoordinatesFromDepthPixel函数确实有失效的时候,这是因为该像素的深度信息不可用的,判断依据是改点的深度值为0。这时由于非法值的存在,导致运算结果越界,必须通过判断进行筛选。以下是示例代码,请参考。
for(int i=0; i<KINECT_DEPTH_W*KINECT_DEPTH_H; ++i)
{
// 真实深度
RealDepth = (pBufferRun & 0xfff8) >> 3;
// RGB和深度对齐,跳过无效点
if (RealDepth==0)
continue;
// 有效点转换坐标
NuiImageGetColorPixelCoordinatesFromDepthPixel(
KINECT_DEPTH_W==320 ? NUI_IMAGE_RESOLUTION_320x240 : NUI_IMAGE_RESOLUTION_640x480,
NULL,
i % KINECT_DEPTH_W,
i / KINECT_DEPTH_W,
pBufferRun,
&lX,
&lY
);
} |
|