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