forked from gnebehay/CppMT
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMT_MAP.cpp
More file actions
61 lines (57 loc) · 1.32 KB
/
Copy pathCMT_MAP.cpp
File metadata and controls
61 lines (57 loc) · 1.32 KB
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
56
57
58
59
60
61
#include "CMT_MAP.h"
namespace cmt{
bool CMT_MAP::addTracker(const Mat im_gray, const Rect rect, string tracker_name, Config config)
{
cmt_[tracker_name] = CMT(config);
cmt_[tracker_name].consensus.estimate_rotation = true;
cmt_[tracker_name].initialize(im_gray, rect);
return true;
}
bool CMT_MAP::removeTracker(string tracker_name)
{
if (cmt_.find(tracker_name)!=cmt_.end())
{
cmt_.erase(tracker_name);
return true;
}
else
{
return false;
}
}
bool CMT_MAP::clear()
{
cmt_.clear();
return true;
}
std::map<string, Mat> CMT_MAP::getTrackedImages()
{
std::map<string, Mat> returnImages;
for(std::map<std::string, cmt::CMT>::iterator v = cmt_.begin(); v!= cmt_.end(); v++)
{
returnImages[v->first] = v->second.getOriginalImage();
}
return returnImages;
}
std::vector<string> CMT_MAP::getTrackerNames()
{
std::vector<string> names;
for(std::map<std::string, cmt::CMT>::iterator v = cmt_.begin(); v!= cmt_.end(); v++)
{
names.push_back(v->first);
}
return names;
}
void CMT_MAP::process(const Mat im_gray)
{
for(std::map<std::string, cmt::CMT>::iterator v = cmt_.begin(); v!= cmt_.end(); v++)
{
cmt_[v->first].processFrame(im_gray);
}
}
const std::map<string, cmt::CMT > CMT_MAP::get_map()
{
const std::map<string, cmt::CMT > ptr = cmt_;
return ptr;
}
}