Ejemplo n.º 1
0
void KTM::KinectWrapper::tiltDown(){
	long angle = 0;
	NuiCameraElevationGetAngle(&angle);
	if(angle > NUI_CAMERA_ELEVATION_MINIMUM)
		angle -= 10;
		if(angle < NUI_CAMERA_ELEVATION_MINIMUM)
			angle = NUI_CAMERA_ELEVATION_MINIMUM;
		NuiCameraElevationSetAngle(angle - 1);
}
Ejemplo n.º 2
0
HRESULT KinectCam::Nui_Init()
{
    HRESULT hr;

	m_hNextVideoFrameEvent = NULL;
    m_pVideoStreamHandle = NULL;
    m_hNextVideoFrameEvent = CreateEvent( NULL, TRUE, FALSE, NULL );

    hr = NuiInitialize(NUI_INITIALIZE_FLAG_USES_COLOR);
    if( FAILED( hr ) )
    {
        return hr;
    }

	// Set camera angle
	char iniFile[MAX_PATH];
	SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, iniFile);
	strcat(iniFile, "\\KinectCam");
	CreateDirectory(iniFile, NULL);
	strcat(iniFile, "\\config.ini");
	if (_access(iniFile, 0) != 0)
	{
		FILE *f = fopen(iniFile, "w");
		if (f)
		{
			fprintf(f, "[KinectCam]\n");
			fprintf(f, "CameraElevationAngle=0\n");
			fprintf(f, "CameraShutdownAngle=0\n");
			fprintf(f, "FlipImage=0\n");
			fclose(f);
		}
	}

	char val[256];
	GetPrivateProfileString("KinectCam", "CameraElevationAngle", "999", val, 256, iniFile);
	int angle = atoi(val);
	if (angle != 999)
		NuiCameraElevationSetAngle(angle);
	
	GetPrivateProfileString("KinectCam", "FlipImage", "0", val, 256, iniFile);
	g_flipImage = (atoi(val) != 0);

	NUI_IMAGE_RESOLUTION resolution;
	resolution = NUI_IMAGE_RESOLUTION_640x480;

    hr = NuiImageStreamOpen(
        NUI_IMAGE_TYPE_COLOR,
		resolution,
        0,
        2,
        m_hNextVideoFrameEvent,
        &m_pVideoStreamHandle );

	return hr;
}
Ejemplo n.º 3
0
void KinectCam::Nui_UnInit()
{
	// Reset camera angle
	char iniFile[MAX_PATH];
	SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, iniFile);
	strcat(iniFile, "\\KinectCam");
	strcat(iniFile, "\\config.ini");

	char val[256];
	GetPrivateProfileString("KinectCam", "CameraShutdownAngle", "999", val, 256, iniFile);
	int angle = atoi(val);
	if (angle != 999)
		NuiCameraElevationSetAngle(angle);

	NuiShutdown( );

	if( m_hNextVideoFrameEvent && ( m_hNextVideoFrameEvent != INVALID_HANDLE_VALUE ) )
    {
        CloseHandle( m_hNextVideoFrameEvent );
        m_hNextVideoFrameEvent = NULL;
    }
}