GSoC2011SfM
0.1
Google Summer of Code 2011: Structure from motion
|
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