00001 #ifndef OUTLET_POSE_ESTIMATION_DETECTOR_H 00002 #define OUTLET_POSE_ESTIMATION_DETECTOR_H 00003 00004 #include <visual_pose_estimation/object_detector.h> 00005 #include "outlet_pose_estimation/detail/outlet_detector.h" 00006 00007 namespace outlet_pose_estimation { 00008 00009 class Detector 00010 { 00011 public: 00012 Detector(); 00013 00014 bool loadTemplate(const std::string& filename); 00015 00016 const outlet_template_t& getTemplate() const { return outlet_template_; } 00017 00018 virtual bool detect(const cv::Mat& image, std::vector<cv::Point2f>& points) const; 00019 00020 virtual void getDisplayImage(const cv::Mat& source, 00021 const std::vector<cv::Point2f>& points, 00022 bool success, cv::Mat& display) const; 00023 00024 protected: 00025 outlet_template_t outlet_template_; 00026 mutable std::vector<outlet_t> outlets_; // HACK: cheat and reuse for getDisplayImage 00027 }; 00028 00029 } //namespace outlet_pose_estimation 00030 00031 #endif