00001 00024 #ifndef RGBDTOOLS_GFT_DETECTOR_H 00025 #define RGBDTOOLS_GFT_DETECTOR_H 00026 00027 #include <opencv2/core/core.hpp> 00028 #include <opencv2/features2d/features2d.hpp> 00029 00030 #include "rgbdtools/features/feature_detector.h" 00031 00032 namespace rgbdtools { 00033 00036 class GftDetector: public FeatureDetector 00037 { 00038 public: 00039 00042 GftDetector(); 00043 00046 ~GftDetector(); 00047 00053 void findFeatures(RGBDFrame& frame, const cv::Mat& input_img); 00054 00058 void setNFeatures(int n_features); 00059 00063 void setMinDistance(double min_distance); 00064 00065 private: 00066 00067 int n_features_; 00068 double min_distance_; 00069 00070 boost::shared_ptr<cv::GoodFeaturesToTrackDetector> gft_detector_; 00071 00072 cv::OrbDescriptorExtractor orb_descriptor_; 00073 }; 00074 00075 typedef boost::shared_ptr<GftDetector> GftDetectorPtr; 00076 00077 } // namespace rgbdtools 00078 00079 #endif // RGBDTOOLS_GFT_DETECTOR_H