Repository navigation
Expand file tree
/
Copy pathFeatureFactory.cpp
More file actions
73 lines (64 loc) · 1.66 KB
/
Copy pathFeatureFactory.cpp
File metadata and controls
73 lines (64 loc) · 1.66 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
62
63
64
65
66
67
68
69
70
71
72
73
#include "FeatureFactory.h"
#include <ctime>
FeatureFactory::FeatureFactory(Eigen::MatrixXf& neighborhood, int featType, int point1, int point2) :
_featType(featType),
_neighborhood(neighborhood),
_point1(point1),
_point2(point2)
{}
bool FeatureFactory::computeFeature()
{
bool result = false;
switch (_featType)
{
case 0:
result = FeatureFactory::redColorDiff();
break;
case 1:
result = FeatureFactory::greenColorDiff();
break;
case 2:
result = FeatureFactory::blueColorDiff();
break;
case 3:
result = FeatureFactory::xDiff();
break;
case 4:
result = FeatureFactory::yDiff();
break;
case 5:
result = FeatureFactory::zDiff();
break;
/*case 7: absRedColorDiff(); break;
case 8: absGreenColorDiff(); break;
case 9: absBlueColorDiff(); break;
case 10: localDensity(); breakneighborhood
case 11: localPlanarity(); break;
case 12: localSufaceDev(); break;*/
}
return result;
}
inline bool FeatureFactory::redColorDiff()
{
return _neighborhood(_point1, 4) < _neighborhood(_point2, 4) ? true : false;
}
inline bool FeatureFactory::greenColorDiff()
{
return _neighborhood(_point1, 5) < _neighborhood(_point2, 5) ? true : false;
}
inline bool FeatureFactory::blueColorDiff()
{
return _neighborhood(_point1, 6) < _neighborhood(_point2, 6) ? true : false;
}
inline bool FeatureFactory::xDiff()
{
return _neighborhood(_point1, 0) < _neighborhood(_point2, 0) ? true : false;
}
inline bool FeatureFactory::yDiff()
{
return _neighborhood(_point1, 1) < _neighborhood(_point2, 1) ? true : false;
}
inline bool FeatureFactory::zDiff()
{
return _neighborhood(_point1, 2) < _neighborhood(_point2, 2) ? true : false;
}