forked from opengazer/OpenGazer
-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathGazeTracker.h
executable file
·43 lines (32 loc) · 1.21 KB
/
GazeTracker.h
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
33
34
35
36
37
38
39
40
41
42
43
#pragma once
#include <boost/scoped_ptr.hpp>
#include "utils.h"
#include "GaussianProcess.cpp"
#include "Component.h"
#include "EyeExtractor.h"
#include "PointTracker.h"
class GazeTracker: public GazeTrackerComponent {
typedef MeanAdjustedGaussianProcess<Utils::SharedImage> ImProcess;
public:
GazeTracker();
bool isActive();
void addExemplar();
void draw();
void process();
void clear();
void updateEstimations();
private:
std::vector<Utils::SharedImage> _calibrationTargetImages;
std::vector<Utils::SharedImage> _calibrationTargetImagesLeft;
std::vector<Point> _calibrationTargetPoints;
std::vector<Utils::SharedImage> _calibrationTargetImagesAllFrames;
std::vector<Utils::SharedImage> _calibrationTargetImagesLeftAllFrames;
std::vector<Point> _calibrationTargetPointsAllFrames;
boost::scoped_ptr<ImProcess> _gaussianProcessX, _gaussianProcessY;
boost::scoped_ptr<ImProcess> _gaussianProcessXLeft, _gaussianProcessYLeft;
EyeExtractor* _eyeExtractor;
PointTracker* _pointTracker;
static double imageDistance(const cv::Mat *image1, const cv::Mat *image2);
static double covarianceFunction(const Utils::SharedImage &image1, const Utils::SharedImage &image2);
void updateGaussianProcesses();
};