Пример #1
0
        public PointF[] filterPoints(PointF pt)
        {
            syntheticData.state[0, 0] = pt.X;
            syntheticData.state[1, 0] = pt.Y;

            Mat prediction = kal.Predict();


            float[] data = GetMatData(prediction);


            PointF predictPoint = new PointF(data[0], data[1]);
            PointF measurePoint = new PointF(syntheticData.GetMeasurement()[0, 0],
                                             syntheticData.GetMeasurement()[1, 0]);

            Mat estimated = kal.Correct(syntheticData.GetMeasurement().Mat);

            data = GetMatData(estimated);
            PointF estimatedPoint = new PointF(data[0], data[1]);

            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);
        }
Пример #2
0
    private PointF[] filterPoints(PointF pt)
    {
        syntheticData.state[0, 0] = pt.X;
        syntheticData.state[1, 0] = pt.Y;
        Matrix <float> prediction   = kal.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      = kal.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);
    }