GSoC2011SfM  0.1
Google Summer of Code 2011: Structure from motion
D:/Travail/These/Determination caracteristiques camera/GSoC/SfM/src/StructureEstimator.h
00001 #ifndef _GSOC_SFM_STRUCTURE_ESTIMATOR_H
00002 #define _GSOC_SFM_STRUCTURE_ESTIMATOR_H 1
00003 
00004 #include <vector>
00005 
00006 #include "macro.h" //SFM_EXPORTS
00007 
00008 namespace OpencvSfM{
00009   class SFM_EXPORTS SequenceAnalyzer;
00010   class SFM_EXPORTS PointOfView;
00011   class SFM_EXPORTS TrackOfPoints;
00016   class SFM_EXPORTS StructureEstimator
00017   {
00018   protected:
00019     SequenceAnalyzer *sequence_;
00020     std::vector<PointOfView>* cameras_;
00021     int max_repro_error_;
00022 
00023   public:
00030     StructureEstimator( SequenceAnalyzer *sequence,
00031       std::vector<PointOfView>* cameras,int max_repro_error=10 )
00032       :sequence_( sequence ),cameras_( cameras ),
00033       max_repro_error_( max_repro_error ){};
00034 
00038     ~StructureEstimator(){sequence_=NULL;cameras_=NULL;};
00039     
00045     std::vector<char> computeStructure( unsigned int max_error = 10 );
00052     std::vector< TrackOfPoints > computeStructure(
00053       const std::vector<int>& list_of_images,
00054        unsigned int max_error = 10 );
00061     void removeOutliersTracks( double max_error = 10,
00062       std::vector< TrackOfPoints >* list_of_tracks = NULL );
00063   };
00064 
00065 }
00066 
00067 
00068 
00069 #endif
 All Classes Functions Variables