1 #ifndef MTF_GRID_TRACKER2_H 2 #define MTF_GRID_TRACKER2_H 8 #define GT_GRID_SIZE_X 10 9 #define GT_GRID_SIZE_Y 10 10 #define GT_PATCH_SIZE_X 10 11 #define GT_PATCH_SIZE_Y 10 12 #define GT_RESET_AT_EACH_FRAME 1 13 #define GT_DYN_PATCH_SIZE 0 14 #define GT_PATCH_CENTROID_INSIDE true 15 #define GT_FB_ERR_THRESH 0 16 #define GT_FB_REINIT true 17 #define GT_USE_TBB true 18 #define GT_MAX_ITERS 1 19 #define GT_EPSILON 0.01 20 #define GT_ENABLE_PYR 0 21 #define GT_SHOW_TRACKERS 0 22 #define GT_SHOW_TRACKER_EDGES 0 23 #define GT_DEBUG_MODE 0 29 int grid_size_x, grid_size_y;
30 int patch_size_x, patch_size_y;
32 int reset_at_each_frame;
35 bool patch_centroid_inside;
47 bool show_tracker_edges;
53 int _grid_size_x,
int _grid_size_y,
54 int _patch_size_x,
int _patch_size_y,
55 int _reset_at_each_frame,
bool _dyn_patch_size,
56 bool _patch_centroid_inside,
double fb_err_thresh,
57 bool _fb_reinit,
bool _use_tbb,
int _max_iters,
double _epsilon,
58 bool _enable_pyr,
bool _show_trackers,
59 bool _show_tracker_edges,
bool _debug_mode);
62 int getResX()
const{
return resx; }
63 int getResY()
const{
return resy; }
75 typedef typename SSM::ParamType
SSMParams;
76 typedef typename SSM::EstimatorParams EstimatorParams;
80 GridTracker(
const vector<TrackerBase*> _trackers,
const ParamType *grid_params,
81 const EstimatorParams *_est_params,
const SSMParams *ssm_params);
82 void initialize(
const cv::Mat &corners)
override;
83 void update()
override;
84 void setImage(
const cv::Mat &img)
override;
85 void setRegion(
const cv::Mat& corners)
override;
86 const cv::Mat& getRegion()
override{
return cv_corners_mat; }
87 const uchar* getPixMask()
override{
return pix_mask.data(); }
88 int getResX()
override{
return params.grid_size_x; }
89 int getResY()
override{
return params.grid_size_y; }
90 SSM& getSSM() {
return ssm; }
92 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
98 EstimatorParams est_params;
100 double centrod_dist_x, centrod_dist_y;
102 std::vector<cv::Point2f> prev_pts;
103 std::vector<cv::Point2f> curr_pts;
105 cv::Mat patch_corners;
106 std::vector<uchar> pix_mask;
109 cv::Mat curr_img, prev_img;
110 cv::Mat curr_img_disp;
112 Matrix2Xd centroid_offset;
114 char* patch_win_name;
116 MatrixXi _linear_idx;
118 bool reinit_at_each_frame;
120 std::vector<cv::Point2f> fb_prev_pts;
121 VectorXb fb_err_mask;
122 bool enable_fb_err_est;
125 void resetTrackers(
bool reinit=
true);
126 void backwardEstimation();
Definition: StateSpaceModel.h:35
Definition: GridTracker.h:71
Definition: GridTracker.h:27
double epsilon
maximum iterations of the GridTracker algorithm to run for each frame
Definition: GridTracker.h:43
GridTrackerParams(int _grid_size_x, int _grid_size_y, int _patch_size_x, int _patch_size_y, int _reset_at_each_frame, bool _dyn_patch_size, bool _patch_centroid_inside, double fb_err_thresh, bool _fb_reinit, bool _use_tbb, int _max_iters, double _epsilon, bool _enable_pyr, bool _show_trackers, bool _show_tracker_edges, bool _debug_mode)
decides whether logging data will be printed for debugging purposes;