summaryrefslogtreecommitdiffhomepage
path: root/tracker-easy/kalman-filter-pose.h
blob: c454a27c0d72bfbe857bebc2d490dfa5e7f13fdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* Copyright (c) 2019, Stephane Lenclud <github@lenclud.com>

 * Permission to use, copy, modify, and/or distribute this
 * software for any purpose with or without fee is hereby granted,
 * provided that the above copyright notice and this permission
 * notice appear in all copies.
 */

#pragma once

#include <opencv2/core.hpp>
#include <opencv2/video/tracking.hpp>


namespace EasyTracker
{

    ///
    /// TODO: do not use a constant time difference
    ///
    class KalmanFilterPose: public cv::KalmanFilter
    {
    public:
        KalmanFilterPose();
        void Init(int aStateCount, int aMeasurementCount, int aInputCount, double aDt);
        void Update(double& aX, double& aY, double& aZ, double& aRoll, double& aPitch, double& aYaw);


        cv::Mat iMeasurements;
    };

}