Exemple #1
0
        private void Reader_MultiSourceFrameArrived_NonTraceable(object sender, MultiSourceFrameArrivedEventArgs e)
        {
            var reference = e.FrameReference.AcquireFrame();

            using (var colorFrame = reference.ColorFrameReference.AcquireFrame())
                using (var depthFrame = reference.DepthFrameReference.AcquireFrame())
                    using (var bodyFrame = reference.BodyFrameReference.AcquireFrame())
                        using (var bodyIndexFrame = reference.BodyIndexFrameReference.AcquireFrame())
                        {
                            if (colorFrame != null && depthFrame != null && bodyIndexFrame != null && bodyFrame != null)
                            {
                                // 3) Update the image source.
                                KinectShilloute.Source = _backgroundRemovalTool.GreenScreen(colorFrame, depthFrame, bodyIndexFrame);

                                KinectSkeleton.Source = _drawSkeleton.DrawBodySkeleton(bodyFrame);

                                if (this.bodies == null)
                                {
                                    this.bodies = new Body[bodyFrame.BodyCount];
                                }
                                bodyFrame.GetAndRefreshBodyData(this.bodies);
                            }
                        }
        }