00001 00024 #ifndef RGBDTOOLS_KEYFRAME_ASSOCIATION_H 00025 #define RGBDTOOLS_KEYFRAME_ASSOCIATION_H 00026 00027 #include <Eigen/StdVector> 00028 #include <opencv2/features2d/features2d.hpp> 00029 00030 #include "rgbdtools/types.h" 00031 00032 namespace rgbdtools { 00033 00043 class KeyframeAssociation 00044 { 00045 public: 00046 00053 enum Type {VO, RANSAC, ODOMETRY, LANDMARKS}; 00054 00055 int kf_idx_a; 00056 int kf_idx_b; 00057 00058 Type type; 00059 00060 std::vector<cv::DMatch> matches; 00061 00069 AffineTransform a2b; 00070 }; 00071 00072 typedef Eigen::aligned_allocator<KeyframeAssociation> KeyframeAssociationAllocator; 00073 typedef std::vector<KeyframeAssociation, KeyframeAssociationAllocator> KeyframeAssociationVector; 00074 00075 } // namespace rgbdtools 00076 00077 #endif // RGBDTOOLS_KEYFRAME_ASSOCIATION_H