/
segmenttrack.h
55 lines (42 loc) · 1.26 KB
/
segmenttrack.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
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef SEGMENTTRACK_H
#define SEGMENTTRACK_H
#include "defs.h"
#include "utils.h"
#include "graphmatch.h"
#include "segmentation.h"
#include "ssgproc.h"
#include "utilTypes.h"
#include <QObject>
class SegmentTrack : public QObject
{
Q_OBJECT
public:
SegmentTrack(Parameters* params, Dataset* dataset);
float fillNodeMap(const vector<vector<NodeSig> >& ns_vec);
void processImagesOnline();
bool eventFilter( QObject* watched, QEvent* event );
void drawMap();
void processImage(const Mat cur_img, vector<vector<NodeSig> > &ns_vec);
void processImageFromDB(const Mat cur_img, vector<vector<NodeSig> > &ns_vec, FrameDesc& frame_desc);
Mat readBOWDict();
GraphMatch* gm;
Segmentation* seg;
public:
int mapScaleFactor;
Mat& getM();
vector<pair<NodeSig, int > > getM_ns();
private:
Mat M;
vector<pair<NodeSig, int> > M_ns; //Average node signatures
Parameters* params;
Dataset* dataset;
void drawCursor(Mat& img);
Point cursor;
vector<pair<int, float> > getCoherentSegments(const Mat map, const Mat img, float thres, Mat& img_seg);
signals:
void showTrackSegment(QImage img);
void showTrackMap(QImage img);
void showImgOrg(QImage img);
public slots:
};
#endif // SEGMENTTRACK_H