MTF
GridTrackerFlow.h
1 #ifndef MTF_GRID_TRACKER_FLOW_H
2 #define MTF_GRID_TRACKER_FLOW_H
3 
4 #include "GridBase.h"
5 #include "GridTrackerFlowParams.h"
6 #include <vector>
7 
8 _MTF_BEGIN_NAMESPACE
9 
10 template<class AM, class SSM>
11 class GridTrackerFlow : public GridBase{
12 
13 public:
14 
16  typedef typename AM::ParamType AMParams;
17  typedef typename SSM::ParamType SSMParams;
18  typedef typename SSM::EstimatorParams EstimatorParams;
19 
20 
22  const ParamType *grid_params = nullptr,
23  const EstimatorParams *_est_params = nullptr,
24  const AMParams *am_params = nullptr,
25  const SSMParams *ssm_params = nullptr);
26 
27  void initialize(const cv::Mat &corners) override;
28  void update() override;
29  void setImage(const cv::Mat &img) override;
30  void setRegion(const cv::Mat& corners) override;
31  const uchar* getPixMask() override{ return pix_mask.data(); }
32  int getResX() override{ return params.grid_size_x; }
33  int getResY() override{ return params.grid_size_y; }
34  const cv::Mat& getRegion() override{ return cv_corners_mat; }
35  int inputType() const override{ return am.inputType(); }
36  SSM& getSSM() { return ssm; }
37  AM& getAM() { return am; }
38 
39  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
40 
41 private:
42 
43  AM am;
44  SSM ssm;
45  ParamType params;
46  EstimatorParams est_params;
47 
48  cv::Mat curr_img, prev_img;
49  cv::Mat curr_pts_mat, prev_pts_mat;
50 
51  std::vector<cv::Point2f> curr_pts, prev_pts;
52  unsigned int n_pts;
53  cv::Size search_window;
54  cv::TermCriteria lk_termination_criteria;
55 
56  cv::Mat warp_mat;
57  cv::Mat patch_corners;
58  std::vector<uchar> pix_mask;
59 
60  VectorXd ssm_update;
61 
62  cv::Mat curr_img_disp;
63 
64  Matrix2Xd centroid_offset;
65 
66  char* patch_win_name;
67 
68  MatrixXi _linear_idx;//used for indexing the sub region locations
69  int pause_seq;
70 
71  ~GridTrackerFlow(){}
72  void showPts();
73 };
74 
75 _MTF_END_NAMESPACE
76 
77 #endif
78 
Definition: StateSpaceModel.h:35
Definition: GridTrackerFlow.h:11
Definition: GridBase.h:8
Definition: AMParams.h:12
Definition: GridTrackerFlowParams.h:21