Go to the documentation of this file.00001 #include "outlet_pose_estimation/detector.h"
00002
00003 namespace outlet_pose_estimation {
00004
00005 Detector::Detector()
00006 {
00007 }
00008
00009 bool Detector::loadTemplate(const std::string& filename)
00010 {
00011 return outlet_template_.load(filename.c_str());
00012 }
00013
00014 bool Detector::detect(const cv::Mat& image, std::vector<cv::Point2f>& points) const
00015 {
00016 IplImage ipl = (IplImage)image;
00017
00018
00019
00020 if (!outlet_template_.get_one_way_descriptor_base() ||
00021 !detect_outlet_tuple(&ipl, NULL, NULL, outlets_, outlet_template_, NULL, NULL))
00022 return false;
00023
00024
00025 std::vector<bool> is_detected;
00026 getImagePoints(outlets_, points, is_detected);
00027 return true;
00028 }
00029
00030 void Detector::getDisplayImage(const cv::Mat& source,
00031 const std::vector<cv::Point2f>& points,
00032 bool success, cv::Mat& display) const
00033 {
00035 display = source.clone();
00036 if (success) {
00037 IplImage display_ipl = (IplImage)display;
00039 draw_outlets(&display_ipl, outlets_);
00040 }
00041 }
00042
00043 }