peh.h
Go to the documentation of this file.
00001 #ifndef _PEH_H_
00002 #define _PEH_H_
00003 
00004 #include <frame_common/frame.h>
00005 #include <boost/shared_ptr.hpp>
00006 #include <posest/pe.h>
00007 #include <posest/howardMatcher.h>
00008 #include <cv.h>
00009 #include <cstdlib>
00010 #include <math.h>
00011 
00012 namespace fc  = frame_common;
00013 using namespace std;
00014 namespace pe
00015 {
00016 class PoseEstimatorH : public PoseEstimator
00017 {
00018 public:
00019   using PoseEstimator::estimate;
00020 
00021   PoseEstimatorH(int NRansac, bool LMpolish, double mind,
00022                   double maxidx, double maxidd, float matcherThreshold, int minMatchesCount, int descriptorSize) :
00023                     PoseEstimator(NRansac, LMpolish, mind, maxidx, maxidd), minMatchesCount(minMatchesCount)
00024   {
00025     usedMethod = Stereo;
00026     howardMatcher = new HowardStereoMatcher(matcherThreshold, descriptorSize);
00027   };
00028   ~PoseEstimatorH() { };
00029 
00030   virtual int estimate(const fc::Frame& frame1, const fc::Frame& frame2);
00031 
00032   virtual int estimate(const fc::Frame& frame1, const fc::Frame& frame2,
00033                        const std::vector<cv::DMatch> &matches);
00034 
00035   EIGEN_MAKE_ALIGNED_OPERATOR_NEW // needed for 16B alignment
00036 private:
00037   cv::Ptr<HowardStereoMatcher> howardMatcher;
00038   int minMatchesCount;
00039   std::vector<int> filteredIndices;
00040 };
00041 
00042 } // ends namespace pe
00043 #endif // _PEH_H_


posest
Author(s): Kurt Konolige
autogenerated on Thu Jan 2 2014 12:12:17