Example #1
0
        private void Skele_OnFrame(KinCapFrame OneFrame)
        {
            if (frameTotCnt < MaxFrames)
            {
                if (OneFrame.BodyNdx == 0)   // we're only grabbing body 0
                // copy frame data including joints, positions, tracking, etc
                {
                    capFrames[frameTotCnt].BodyNdx   = OneFrame.BodyNdx;
                    capFrames[frameTotCnt].FloorClip = OneFrame.FloorClip;
                    capFrames[frameTotCnt].TmSpan    = OneFrame.TmSpan;
                    capFrames[frameTotCnt].FrameNum  = OneFrame.FrameNum;
                    for (int z = 0; z <= OneFrame.CamPos.GetUpperBound(0); z++)
                    {
                        capFrames[frameTotCnt].CamPos[z]      = OneFrame.CamPos[z];
                        capFrames[frameTotCnt].SmoothedCSP[z] = OneFrame.SmoothedCSP[z];
                        capFrames[frameTotCnt].TrackState[z]  = OneFrame.TrackState[z];
                    }

                    if (frameTotCnt % 10 == 0)
                    {
                        Frame_Lbl.Text = string.Format("Frames: {0}", frameTotCnt);
                    }
                    frameTotCnt++;
                }
            }
            else
            {
                Frame_Lbl.Text = "Max Frames hit!";
                Frame_Lbl.Refresh();
            }
        }
Example #2
0
 private void StartBtnOnClick(object sender, EventArgs e)
 {
     frameTotCnt = 0;
     // wait 10 seconds with countdown
     for (int cnt = 10; cnt >= 1; cnt--)
     {
         Frame_Lbl.Text = "Countdown: " + cnt.ToString();
         Frame_Lbl.Refresh();
         Thread.Sleep(1000);
     }
     Frame_Lbl.Text = "Starting capture";
     skele          = new KinSkeleTrack();
     if (skele == null)
     {
         ErrMsg("Cannot get skeleton for capture");
         return;
     }
     skele.OnAvail += Skele_OnAvail;
     skele.OnFrame += Skele_OnFrame;
     skele.StartTracking();
 }