public FHandTracker()
        {
            afterColorReady = skip;
            afterDepthReady = skip;

            settings = new FHandTrackerSettings();

            hands = new List <Hand>();

            // Check if there is any Kinect device connected
            if (KinectSensor.KinectSensors.Count > 0)
            {
                connected = true;
                sensor    = KinectSensor.KinectSensors.ElementAt(0);

                //sensor.DepthStream.Range = DepthRange.Near;

                sensor.DepthFrameReady += new EventHandler <DepthImageFrameReadyEventArgs>(depthFrameReady);
                sensor.ColorFrameReady += new EventHandler <ColorImageFrameReadyEventArgs>(colorFrameReady);
            }
            else // No device connected
            {
                connected = false;
            }
        }
        public KinectTracker()
        {
            afterColorReady = skip;
            afterDepthReady = skip;

            settings = new KinectSettings();

            hands = new List<Hand>();

            // Check if there is any Kinect device connected
            if (KinectSensor.KinectSensors.Count > 0)
            {
                connected = true;
                sensor = KinectSensor.KinectSensors.ElementAt(0);

                //sensor.DepthStream.Range = DepthRange.Near;

                sensor.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>(depthFrameReady);
                sensor.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>(colorFrameReady);

            }
            else // No device connected
            {
                connected = false;
            }
        }
Esempio n. 3
0
        public KinectSkeleton()
        {
            depthFormat = DepthImageFormat.Resolution320x240Fps30;

            afterColorReady = skip;
            afterDepthReady = skip;
            hands           = new List <HandCoordinates>();

            if (KinectSensor.KinectSensors.Count > 0)
            {
                connected = true;
                sensor    = KinectSensor.KinectSensors.ElementAt(0);
                sensor.DepthFrameReady += new EventHandler <DepthImageFrameReadyEventArgs>(depthFrameReady);
                sensor.ColorFrameReady += new EventHandler <ColorImageFrameReadyEventArgs>(colorFrameReady);
            }
            else
            {
                connected = false;
            }
        }
 public void clearEventDepthReady()
 {
     afterDepthReady = skip;
 }
 public void setEventDepthReady(afterReady del)
 {
     afterDepthReady = del;
 }
 public void clearEventColorReady()
 {
     afterColorReady = skip;
 }
 public void setEventColorReady(afterReady del)
 {
     afterColorReady = del;
 }
Esempio n. 8
0
        protected bool setupKinect()
        {
            if (KinectSensor.KinectSensors.Count == 0)
            {
                //메시지 박스
                //종료

                return false;
            }

            //파라미터
            var parameters = new TransformSmoothParameters
            {
                //Smoothing = 0.3f,
                //Correction = 0.0f,
                //Prediction = 0.0f,
                //JitterRadius = 1.0f,
                //MaxDeviationRadius = 0.5f


                //Smoothing = 0.5f,
                //Correction = 0.5f,
                //Prediction = 0.5f,
                //JitterRadius = 0.05f,
                //MaxDeviationRadius = 0.04f

                //Smoothing = 0.5f,
                //Correction = 0.1f,
                //Prediction = 0.5f,
                //JitterRadius = 0.1f,
                //MaxDeviationRadius = 0.1f

                //Smoothing = 0.7f,
                //Correction = 0.3f,
                //Prediction = 1.0f,
                //JitterRadius = 1.0f,
                //MaxDeviationRadius = 1.0f

                Smoothing = 0.05f,
                Correction = 0.5f,
                Prediction = 0.5f,
                JitterRadius = 0.8f,
                MaxDeviationRadius = 0.2f
            };

            //키넥트 센서
            nui = KinectSensor.KinectSensors[0];

            try
            {
                nui.Start();
            }
            catch
            {
                nui = null;
                return false;
               //Exit();
            }

            //if (nui == null)
            //{
            //    //메시지 박스 
            //    //종료
                
            //}

            if (nui != null)
            {
                
                //스켈레톤 스트림
                nui.SkeletonStream.Enable(parameters);
                //nui.SkeletonStream.Enable();
                nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);

                //뎁스스트림
                nui.DepthStream.Enable();
                //nui.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>(nui_DepthFrameReady);

                //컬러스트림 

                nui.ColorStream.Enable();
                nui.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>(nui_ColorFrameReady);

                //클릭
                afterColorReady = skip;
                afterDepthReady = skip;
                settings = new KinectSettings();
                hands = new List<Hand>();

                //제스쳐2
                _dtw1 = new DtwGestureRecognizer(12, 0.6, 1.2, 2, 2);//정지포스쳐
                _dtw2 = new DtwGestureRecognizer(12, 1.2, 2, 2, 2);//일반포스쳐
                _dtw3 = new DtwGestureRecognizer(12, 1.2, 2, 2, 10);//제스쳐

                _video = new ArrayList();
                gestureType = 1;
                postureCount = 0;
                gestureFlag = true;
                string fileName = "0.txt";
                LoadGesturesFromFile(fileName);
                Skeleton2DDataExtract.Skeleton2DdataCoordReady += NuiSkeleton2DdataCoordReadyStop;
                setupAudio();
            }
            
            return true;
        }
 public void clearEventDepthReady()
 {
     afterDepthReady = skip;
 }
 public void clearEventColorReady()
 {
     afterColorReady = skip;
 }
 public void setEventDepthReady(afterReady del)
 {
     afterDepthReady = del;
 }
 public void setEventColorReady(afterReady del)
 {
     afterColorReady = del;
 }