예제 #1
0
        private void Clean()
        {
            swipeGestureRecognizer.OnGestureDetected -= OnGestureDetected;

            CloseGestureDetector();

            ClosePostureDetector();

            if (voiceCommander != null)
            {
                voiceCommander.OrderDetected -= voiceCommander_OrderDetected;
                voiceCommander.Dispose();
                voiceCommander = null;
            }

            if (recorder != null)
            {
                recorder.Stop();
                recorder = null;
            }

            if (kinectRuntime != null)
            {
                kinectRuntime.SkeletonFrameReady -= kinectRuntime_SkeletonFrameReady;
                kinectRuntime.VideoFrameReady    -= kinectRuntime_VideoFrameReady;
                kinectRuntime.Uninitialize();
                kinectRuntime = null;
            }
        }
예제 #2
0
    public void Initialize(Dispatcher uiDispatcher, int skeletonBufferSize, int avgHeight, String destFolder,
      int playerBufferSize)
    {
      IsKinectConnected = false;
      PlayBackFromFile = false;
      SkeletonF = new SkeletonFilter(skeletonBufferSize);
      Recorder = new SkeletonRecorder(destFolder);
      TypingE = new TypingEngine();
      EffortE = new EffortEngine(avgHeight);

      Player = new SkeletonPlayer(playerBufferSize, uiDispatcher);
      Player.SkeletonFrameReady += new EventHandler<PlayerSkeletonFrameReadyEventArgs>(Player_SkeletonFrameReady);

      if (KinectSensor.KinectSensors.Count == 0)
      {
        IsKinectConnected = false;
        Console.WriteLine("No Kinect found");
      }
      else
      {
        IsKinectConnected = true;
        kinectSensor = KinectSensor.KinectSensors[0];
        if (kinectSensor == null)
          IsKinectConnected = false;
        else
        {
          kinectSensor.ColorStream.Enable();
          kinectSensor.SkeletonStream.Enable();
          kinectSensor.DepthStream.Enable();
          kinectSensor.Start();
          kinectSensor.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>(kinectSensor_AllFramesReady);
        }
      }
    }
예제 #3
0
        void DirectRecord(string targetFileName)
        {
            recorder = new SkeletonRecorder();
            Stream recordStream = File.Create(targetFileName);

            recorder.Start(recordStream);
            recordOption.Content = "Stop Recording";
        }
예제 #4
0
 public UISkeletonRecorder(JointData[] jointData, GestureManager gm)
 {
     m_skRecorder  = new SkeletonRecorder(null, jointData);
     m_gestManager = gm;
 }
 public TemplateTrainer(SkeletonRecorder skRecorder, JointFeature pf)
 {
     m_skRecorder  = skRecorder;
     m_postFeature = pf;
 }
예제 #6
0
 public UIKeyFrameMarker(SkeletonRecorder skRecorder)
 {
     m_skRecorder = skRecorder;
 }
예제 #7
0
 public UITemplateTrainer(SkeletonRecorder skRecorder, JointFeature postFeature)
 {
     m_skRecorder = skRecorder;
     m_tpTrainer  = new TemplateTrainer(skRecorder, postFeature);
 }
 public UISkeletonPlayer(SkeletonRecorder skRecorder)
 {
     m_skRecorder = skRecorder;
 }