My Project
TrackerPsa.h
Go to the documentation of this file.
1 /*
2  * This file is part of ALVAR, A Library for Virtual and Augmented Reality.
3  *
4  * Copyright 2007-2012 VTT Technical Research Centre of Finland
5  *
6  * Contact: VTT Augmented Reality Team <alvar.info@vtt.fi>
7  * <http://www.vtt.fi/multimedia/alvar.html>
8  *
9  * ALVAR is free software; you can redistribute it and/or modify it under the
10  * terms of the GNU Lesser General Public License as published by the Free
11  * Software Foundation; either version 2.1 of the License, or (at your option)
12  * any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
17  * for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with ALVAR; if not, see
21  * <http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>.
22  */
23 
24 #ifndef TRACKERPSA_H
25 #define TRACKERPSA_H
26 
27 #include "Tracker.h"
28 
35 namespace alvar {
36 
42 class ALVAR_EXPORT TrackerPsa : public Tracker
43 {
44 protected:
45  int max_shift;
46  int x_res, y_res;
47  long *hor, *horprev;
48  long *ver, *verprev;
49  long framecount;
50 
51 public:
53  double xd;
55  double yd;
57  TrackerPsa(int _max_shift = 50);
61  double Track(cv::Mat &img);
62 
63  virtual void Compensate(double *x, double *y);
64 };
65 
69 class ALVAR_EXPORT TrackerPsaRot : public TrackerPsa
70 {
71 protected:
72  double *rot, *rotprev;
73  int * rot_count;
74 
75 public:
77  double rotd;
79  TrackerPsaRot(int _max_shift = 50);
83  double Track(cv::Mat &img);
84 
85  virtual void Compensate(double *x, double *y);
86 };
87 
88 } // namespace alvar
89 
90 #endif
This file implements a tracking interface.
Pure virtual base class for tracking optical flow.
Definition: Tracker.h:45
TrackerPsa implements a very simple PSA tracker
Definition: TrackerPsa.h:43
TrackerPsa(int _max_shift=50)
Constructor.
~TrackerPsa()
Destructor.
double Track(cv::Mat &img)
Track using PSA.
double yd
Track result y-translation in pixels
Definition: TrackerPsa.h:55
double xd
Track result x-translation in pixels
Definition: TrackerPsa.h:53
TrackerPsaRot implements a slightly extended version of a TrackerPsa which can also detect sideways r...
Definition: TrackerPsa.h:70
double rotd
Track result rotation in degrees
Definition: TrackerPsa.h:77
~TrackerPsaRot()
Destructor.
double Track(cv::Mat &img)
Track using PSA with rotation.
TrackerPsaRot(int _max_shift=50)
Constructor.
Main ALVAR namespace.
Definition: Alvar.h:174