21 #include <opencv2/core/core.hpp>
22 #include <opencv2/features2d.hpp>
47 public jevois::Parameter<objectmatcher::hessian, objectmatcher::traindir,
48 objectmatcher::goodpts, objectmatcher::distthresh>
60 double process(cv::Mat
const & img,
size_t & trainidx, std::vector<cv::Point2f> & corners);
65 double process(cv::Mat
const & img,
size_t & trainidx);
74 void detect(cv::Mat
const & img, std::vector<cv::KeyPoint> & keypoints);
78 void compute(cv::Mat
const & img, std::vector<cv::KeyPoint> & keypoints, cv::Mat & descriptors);
81 double match(std::vector<cv::KeyPoint>
const & keypoints, cv::Mat
const & descriptors,
82 size_t & trainidx, std::vector<cv::Point2f> & corners);
85 double match(std::vector<cv::KeyPoint>
const & keypoints, cv::Mat
const & descriptors,
size_t & trainidx);
105 std::vector<cv::Point2f> corners;
108 MatchData matchcore(
size_t corenum, std::vector<cv::KeyPoint>
const & keypoints, cv::Mat
const & descriptors,
109 size_t minidx,
size_t maxidx,
bool do_corners);
111 cv::Ptr<cv::Feature2D> itsFeatureDetector;
112 std::vector<cv::Ptr<cv::DescriptorMatcher> > itsMatcher;
113 std::vector<TrainData> itsTrainData;