libfovis
feature_matcher.hpp
1 #ifndef __fovis_feature_matcher_hpp__
2 #define __fovis_feature_matcher_hpp__
3 
4 #include "feature_match.hpp"
5 
6 namespace fovis
7 {
8 
13 public:
14  FeatureMatcher ();
15  virtual ~FeatureMatcher ();
16 
17 #if 0
18  // TODO
19  void matchFeatures(PyramidLevel* ref_level,
20  PyramidLevel* target_level,
21  const std::binary_function<int, int, bool>& is_legal,
22  std::vector<FeatureMatch>* matches);
23 #endif
24 
39  void matchFeatures(PyramidLevel* ref_level,
40  PyramidLevel* target_level,
41  const std::vector<std::vector<int> >& candidates,
42  FeatureMatch* matches,
43  int* num_matches);
44 
45 private:
46  FeatureMatcher (const FeatureMatcher& other);
47  FeatureMatcher& operator=(const FeatureMatcher& other);
48 
49  // how many features can be referenced in the temporary workspace buffers
50  int _ref_feature_capacity;
51  int _target_feature_capacity;
52 
53  // temporary workspace buffers for feature matching
54  int32_t* _ref_to_target_indices;
55  int32_t* _ref_to_target_scores;
56  int32_t* _target_to_ref_indices;
57  int32_t* _target_to_ref_scores;
58 };
59 
60 
61 
62 } /* */
63 
64 #endif /* end of include guard: __fovis_feature_matcher_hpp__ */
Matches features between a reference and a target image.
Definition: feature_matcher.hpp:12
One level of a Gaussian image pyramid.
Definition: pyramid_level.hpp:21
Represents a single image feature matched between two camera images taken at different times...
Definition: feature_match.hpp:41
quick and dirty profiling tool.inspired by the matlab tic/toc command
Definition: camera_intrinsics.hpp:6
void matchFeatures(PyramidLevel *ref_level, PyramidLevel *target_level, const std::vector< std::vector< int > > &candidates, FeatureMatch *matches, int *num_matches)