#include #include #include using namespace xn; using namespace cv; using namespace std; Context context; ImageGenerator imageGen; const Size frameSize(640, 480); Mat bgrMat(frameSize, CV_8UC3); int main() { // Initialize context object. XnStatus nRetVal = XN_STATUS_OK; nRetVal = context.Init(); // Defauly output mode. XnMapOutputMode outputMode; outputMode.nXRes = 640; outputMode.nYRes = 480; outputMode.nFPS = 30; // Create an imageGenerator node. nRetVal = imageGen.Create(context); nRetVal = imageGen.SetMapOutputMode(outputMode); nRetVal = imageGen.GetMirrorCap().SetMirror(true); // Start generating. nRetVal = context.StartGeneratingAll(); // Get the first frame from the camera. Mat mat(frameSize, CV_8UC3, (unsigned char*)imageGen.GetImageMap()); // Window. cvNamedWindow("ColorBasedTracking"); // To hold each frame. IplImage *frame ; while(true) { Mat mat(frameSize, CV_8UC3, (unsigned char*) imageGen.GetImageMap()); cvtColor(mat, bgrMat, CV_RGB2BGR); frame = cvCloneImage(&(IplImage)bgrMat); if(!frame) break; cvShowImage("ColorBasedTracking", frame); // Wait for a keypress. int c = cvWaitKey(10); if(c != -1) break; cvReleaseImage(&frame); } return 0; }