feature_match.hpp
Go to the documentation of this file.
00001 #ifndef __fovis_feature_match_hpp__
00002 #define __fovis_feature_match_hpp__
00003 
00004 #include <vector>
00005 
00006 #include <Eigen/Dense>
00007 #include <Eigen/Geometry>
00008 
00009 #include "keypoint.hpp"
00010 
00011 namespace fovis
00012 {
00013 
00014 class PyramidLevel;
00015 
00019 enum MatchStatusCode {
00023   MATCH_NEEDS_DEPTH_REFINEMENT,
00027   MATCH_REFINEMENT_FAILED,
00031   MATCH_OK
00032 };
00033 
00041 class FeatureMatch
00042 {
00043   public:
00044     EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00045 
00046   public:
00050     FeatureMatch() :
00051       target_keypoint(NULL),
00052       ref_keypoint(NULL),
00053       compatibility_degree(0),
00054       in_maximal_clique(false),
00055       inlier(false),
00056       reprojection_error(0),
00057       track_id(-1)
00058     {
00059     }
00060 
00064     FeatureMatch(KeypointData* target_keypoint, KeypointData* ref_keypoint) :
00065       target_keypoint(target_keypoint),
00066       ref_keypoint(ref_keypoint),
00067       compatibility_degree(0),
00068       in_maximal_clique(false),
00069       inlier(false),
00070       reprojection_error(0),
00071       track_id(-1)
00072     {
00073       refined_target_keypoint.copyFrom(*target_keypoint);
00074     }
00075 
00079     KeypointData* target_keypoint;
00080 
00084     KeypointData* ref_keypoint;
00085 
00090     KeypointData refined_target_keypoint;
00091 
00097     std::vector<int> consistency_vec;
00098 
00102     int compatibility_degree;
00103 
00107     bool in_maximal_clique;
00108 
00112     bool inlier;
00113 
00117     int id;
00118 
00123     double reprojection_error;
00124 
00133     int track_id;
00134 
00138     MatchStatusCode status;
00139 };
00140 
00141 } /*  */
00142 
00143 #endif


libfovis
Author(s): Albert Huang, Maurice Fallon
autogenerated on Thu Jun 6 2019 20:16:12