X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=src%2FTracker.h;h=490201abcb3ef88f20d0ae3237e63f2a6f7850aa;hb=0e3565052ce6db176c34c448a7368b463d318558;hp=407634b7a80977950865353a26797a92eeb90ff4;hpb=b5342c4a4bbfb17346e7bffc5dae129290d184be;p=trackerpp.git diff --git a/src/Tracker.h b/src/Tracker.h index 407634b..490201a 100644 --- a/src/Tracker.h +++ b/src/Tracker.h @@ -1,17 +1,52 @@ #ifndef _TRACKER_H_ #define _TRACKER_H_ +#include +#include +#include +#include "Metrics.h" +#include "SharedPtr.h" + namespace suanzi { -class Tracker -{ -public: - Tracker(); - ~Tracker(); + typedef enum + { + Fire = -1, + Active = 2, + Lost, + Delete + } TrackerStatus; + + TK_DECLARE_PTR(Tracker); +// TK_DECLARE_PTR(KalmanFilter); + class Tracker + { + public: + Tracker(int id); + virtual ~Tracker(); + void updateState(const cv::Mat& image); + void addPatch(Patch* p); + TrackerStatus status; + + private: + TrackerStatus preStatus; + int id; + int age; + int last_active; + std::vector patches; + cv::KalmanFilter kf = {4,2}; + }; + +// class KalmanFilter +// { +// public: +// KalmanFilter(); +// ~KalmanFilter(); +// private: +// cv::KalmanFilter +// +// }; - virtual void createMetrics() = 0; - virtual void display() = 0; -}; }