コード例 #1
0
        public PointF[] filterPoints(PointF pt)
        {
            syntheticData.state[0, 0] = pt.X;
            syntheticData.state[1, 0] = pt.Y;
            Matrix <float> prediction     = kalFilter.Predict();
            PointF         predictPoint   = new PointF(prediction[0, 0], prediction[1, 0]);
            PointF         measurePoint   = new PointF(syntheticData.GetMeasurement()[0, 0], syntheticData.GetMeasurement()[1, 0]);
            Matrix <float> estimated      = kalFilter.Correct(syntheticData.GetMeasurement());
            PointF         estimatedPoint = new PointF(estimated[0, 0], estimated[1, 0]);

            syntheticData.GoToNextState();
            PointF[] results = new PointF[2];
            results[0] = predictPoint;
            results[1] = estimatedPoint;
            px         = predictPoint.X;
            py         = predictPoint.Y;
            cx         = estimatedPoint.X;
            cy         = estimatedPoint.Y;
            return(results);
        }