Visual c++ 使用opengl去除Kinect背景和粒子动力学?

Visual c++ 使用opengl去除Kinect背景和粒子动力学?,visual-c++,opengl,kinect-sdk,Visual C++,Opengl,Kinect Sdk,我正在用KINECT SDK 1.8、OpenGL和DirectShow制作一个应用程序 我的目标是使用KINECT背景移除API提取人体,并使用DirectShow的IVMR9WindowlessControl9:GetCurrentImage添加avi视频帧作为背景。然后绘制约1000个具有一定透明度的方形纹理以进行点火(粒子动力学) 如果提取图像的像素alpha为0,则添加视频背景。如果像素的alpha为0,我会在其中添加视频帧的像素 当KINECT没有检测到人类,并且视频帧的像素填充了背

我正在用KINECT SDK 1.8、OpenGL和DirectShow制作一个应用程序

我的目标是使用KINECT背景移除API提取人体,并使用DirectShow的IVMR9WindowlessControl9:GetCurrentImage添加avi视频帧作为背景。然后绘制约1000个具有一定透明度的方形纹理以进行点火(粒子动力学)

如果提取图像的像素alpha为0,则添加视频背景。如果像素的alpha为0,我会在其中添加视频帧的像素

当KINECT没有检测到人类,并且视频帧的像素填充了背景时,火很好地熄灭了

问题是这样的:当KINECT检测到人类时,视频帧的像素填充除人类区域外的背景,火就会出来,但组成火的粒子很少,有时,检测到人类时没有出现的其他粒子会出现,然后在一瞬间消失。 KINECT检测不到人体后,隐藏的粒子就出现了,并且运行得很好