00001 #ifndef brct_structure_estimator_h_ 00002 #define brct_structure_estimator_h_ 00003 //: 00004 // \file 00005 // \author Kongbin Kang 00006 // \brief A class to incrementally compute 3D structure from 2D measurements. 00007 00008 #include <vnl/vnl_double_3x3.h> 00009 #include <vnl/vnl_double_3x4.h> 00010 #include <vnl/vnl_double_2x3.h> 00011 #include <vnl/vnl_double_3.h> 00012 #include <bugl/bugl_gaussian_point_2d.h> 00013 #include <bugl/bugl_gaussian_point_3d.h> 00014 00015 class brct_structure_estimator 00016 { 00017 public: 00018 brct_structure_estimator(vnl_double_3x4 &P); 00019 ~brct_structure_estimator(){} 00020 00021 //: go to the next step 00022 bugl_gaussian_point_3d<double> forward( 00023 bugl_gaussian_point_3d<double>& state, 00024 bugl_gaussian_point_2d<double>& observe); 00025 00026 //: get measurement matrix 00027 vnl_double_2x3 get_H_matrix(vnl_double_3 &state); 00028 00029 private: 00030 //: process variance 00031 vnl_double_3x3 Q_; 00032 00033 //: state transit matrix 00034 vnl_double_3x3 A_; 00035 00036 //: projective matrix 00037 vnl_double_3x4 P_; 00038 }; 00039 00040 #endif // brct_structure_estimator_h_
1.4.4