示例#1
0
 /// <summary>
 /// Create a Kalman smoothing joint with default configuration values.
 /// </summary>
 /// <param name="jointType">The joint type to create</param>
 public KalmanJoint(JointType jointType)
     : base(jointType)
 {
     var parms = new KalmanSmoothingParameters();
     _measurementUncertainty = new Vector3(parms.MeasurementUncertainty);
     _jitterRadius = parms.JitterRadius;
 }
示例#2
0
        /// <summary>
        /// Create a Kalman smoothing joint with default configuration values.
        /// </summary>
        /// <param name="jointType">The joint type to create</param>
        public KalmanJoint(JointType jointType)
            : base(jointType)
        {
            var parms = new KalmanSmoothingParameters();

            _measurementUncertainty = new Vector3(parms.MeasurementUncertainty);
            _jitterRadius           = parms.JitterRadius;
        }
示例#3
0
        /// <summary>
        /// Create a Kalman smoothing joint with custom configuration values.
        /// </summary>
        /// <param name="jointType">The joint type to create</param>
        /// <param name="parameters">An <c>ExponentialSmoothingParameters</c> object</param>
        public KalmanJoint(JointType jointType, ISmootherParameters parameters = null)
            : base(jointType)
        {
            var parms = parameters as KalmanSmoothingParameters;

            if (parms == null)
            {
                parms = new KalmanSmoothingParameters();
            }

            _measurementUncertainty = new Vector3(parms.MeasurementUncertainty);
            _jitterRadius           = parms.JitterRadius;
        }
        private void InitBody(float aJitterRadius, float aMeasurementUncertainty)
        {
            log.Info("InitBody");

            KalmanSmoothingParameters smoothingParam = new KalmanSmoothingParameters();
            smoothingParam.JitterRadius = aJitterRadius;
            smoothingParam.MeasurementUncertainty = aMeasurementUncertainty;

            _smoothedBodies = new SmoothedBody<KalmanSmoother>[this.KinectSensor.BodyFrameSource.BodyCount];
            for (int i = 0; i < this.KinectSensor.BodyFrameSource.BodyCount; i++)
            {
                _smoothedBodies[i] = new SmoothedBody<KalmanSmoother>(smoothingParam);
            }

            // get the coordinate mapper
            this.coordinateMapper = this.KinectSensor.CoordinateMapper;

            // get total number of bodies from BodyFrameSource
            this.bodies = new Body[this.KinectSensor.BodyFrameSource.BodyCount];

            // sets total number of possible tracked bodies
            this.bodyCount = this.KinectSensor.BodyFrameSource.BodyCount;

            // open the reader for the body frames
            this.bodyFrameReader = this.KinectSensor.BodyFrameSource.OpenReader();

            // wire handler for frame arrival
            this.bodyFrameReader.FrameArrived += this.Reader_BodyFrameArrived;
        }