00001 00024 #ifndef CCNY_RGBD_ORB_DETECTOR_H 00025 #define CCNY_RGBD_ORB_DETECTOR_H 00026 00027 #include "ccny_rgbd/rgbd_util.h" 00028 #include "ccny_rgbd/features/feature_detector.h" 00029 00030 namespace ccny_rgbd { 00031 00034 class OrbDetector: public FeatureDetector 00035 { 00036 public: 00037 00040 OrbDetector(); 00041 00044 ~OrbDetector(); 00045 00051 void findFeatures(RGBDFrame& frame, const cv::Mat& input_img); 00052 00056 void setThreshold(int threshold); 00057 00061 void setNFeatures(int n_features); 00062 00063 private: 00064 00065 int n_features_; 00066 double threshold_; 00067 00068 cv::OrbDescriptorExtractor orb_descriptor_; 00069 boost::shared_ptr<cv::OrbFeatureDetector> orb_detector_; 00070 }; 00071 00072 typedef boost::shared_ptr<OrbDetector> OrbDetectorPtr; 00073 00074 } //namespace ccny_rgbd 00075 00076 #endif // CCNY_RGBD_ORB_DETECTOR_H