gpt4 book ai didi

c++ - 在 Kinect 深度相机中隔离玩家

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:13 24 4
gpt4 key购买 nike

我正在尝试通过 Kinect 深度摄像头隔离单个玩家。我正在打开一个 NUI_IMAGE_TYPE_DEPTH_AND_PLAYER_INDEX 流来处理播放器/深度信息。我用来绘制玩家的代码是这样的:

if (LockedRect.Pitch != 0 ) {
USHORT* curr = (USHORT*) LockedRect.pBits;
const USHORT* dataEnd = curr + ((width/2)*(height/2));
index = 0;

while (curr < dataEnd && playerId != 0) {
USHORT depth = *curr;
USHORT realDepth = NuiDepthPixelToDepth(depth);
BYTE intensity = 255;
USHORT player = NuiDepthPixelToPlayerIndex(depth);


// Only colour in the player
if (player == playerId) {
for (int i = index; i < index + 4; i++)
dest[i] = intensity;
}
else {
for (int i = index; i < index + 4; i++)
dest[i] = 0;
}
index += 4;
curr += 1;
}
}

dest 是一个 OpenGL 纹理。

我遇到的问题是,当第二个人进入框架时,变量 player 发生变化,导致纹理中绘制的人成为新人。

最佳答案

好的,我知道怎么做了。

我需要获取映射到深度像素用户(1 到 6)的骨架 ID(0 到 5)。因此,当传感器发现骨架时,它会保存 ID,并将其设置为 playerId。 PlayerId 仅在其关联骨架被传感器丢失时才会被清除。

关于c++ - 在 Kinect 深度相机中隔离玩家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com