您的位置:首页 > 运维架构

openni+nite体感鼠标模拟2

2016-11-16 16:38 197 查看
这一部分主要是关于多线程的问题,因为使用过程中为了保证实时性,使用多线程是必要的,多线程的使用很复杂,但是在这里我们只用最基本的功能,所以还是比较简单的。首先是多线程所使用的函数的定义。

DWORD WINAPI ReadDepthMapThread(LPVOID lpParamter)
{
while (1)
{
g_Context.WaitAndUpdateAll();
g_ImageGenerator.GetMetaData(imageMD);
Mat cvRGBImage(imageMD.FullYRes(),imageMD.FullXRes(),CV_8UC3,(char*) imageMD.Data());
cvtColor(cvRGBImage,cvBGRImage,CV_RGB2BGR);
MouseControl();
imshow("User skeleton",cvBGRImage);
waitKey(30);
}
return true;
}更新数据,并通过opencv进行RGB图像的显示。
主程序中通过如下方式注册多线程

HANDLE hThread_ReadDepthMap=NULL;
hThread_ReadDepthMap=CreateThread(0,0,ReadDepthMapThread,0,0,0);

if (!hThread_ReadDepthMap)
{
printf("thread create failed!");
return;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: