colorImage.create(480, 640, CV_8UC3);
Mat depthImage;
depthImage.create(240, 320, CV_8UC3);
Mat skeletonImage;
skeletonImage.create(240, 320, CV_8UC3);
Mat mask;
mask.create(240, 320, CV_8UC3);
HANDLE colorEvent = CreateEvent( NULL, TRUE, FALSE, NULL );
HANDLE depthEvent = CreateEvent( NULL, TRUE, FALSE, NULL );
HANDLE skeletonEvent = CreateEvent( NULL, TRUE, FALSE, NULL );
HANDLE colorStreamHandle = NULL;
HANDLE depthStreamHandle = NULL;
HRESULT hr = NuiInitialize(NUI_INITIALIZE_FLAG_USES_COLOR | NUI_INITIALIZE_FLAG_USES_DEPTH_AND_PLAYER_INDEX | NUI_INITIALIZE_FLAG_USES_SKELETON);
if( hr != S_OK )
{
cout<<"NuiInitialize failed"<<endl;
return hr;
}
hr = NuiImageStreamOpen(NUI_IMAGE_TYPE_COLOR, NUI_IMAGE_RESOLUTION_640x480, NULL, 4, colorEvent, &colorStreamHandle);
if( hr != S_OK )
{
cout<<"Open the color Stream failed"<<endl;
NuiShutdown();
return hr;
}
hr = NuiImageStreamOpen(NUI_IMAGE_TYPE_DEPTH_AND_PLAYER_INDEX, NUI_IMAGE_RESOLUTION_320x240, NULL, 2, depthEvent, &depthStreamHandle);
if( hr != S_OK )
{
cout<<"Open the depth Stream failed"<<endl;
NuiShutdown();
return hr;
}
hr = NuiSkeletonTrackingEnable( skeletonEvent, 0 );//打开骨骼跟踪事件
if( hr != S_OK )
{
cout << "NuiSkeletonTrackingEnable failed" << endl;
NuiShutdown();
return hr;
}
namedWindow("mask", CV_WINDOW_AUTOSIZE);