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); } } }