contrib/gel/vmal/vmal_dense_matching.h

Go to the documentation of this file.
00001 #ifndef vmal_dense_matching_h_
00002 #define vmal_dense_matching_h_
00003 
00004 //------------------------------------------------------------------------------
00005 // .NAME        vmal_dense_matching
00006 // .INCLUDE     vmal/vmal_dense_matching.h
00007 // .FILE        vmal_dense_matching.cxx
00008 // .SECTION Description:
00009 //
00010 // .SECTION Author
00011 //   L. Guichard
00012 // .SECTION Modifications:
00013 //------------------------------------------------------------------------------
00014 
00015 
00016 #include <vmal/vmal_multi_view_data_edge_sptr.h>
00017 #include <vnl/vnl_double_3x3.h>
00018 
00019 double vmal_round(double a);
00020 int vmal_round_int(double a);
00021 
00022 class vmal_dense_matching
00023 {
00024 public:
00025 
00026   vmal_dense_matching(const vnl_double_3x3 & H0,
00027             const vnl_double_3x3 & H1);
00028 
00029   ~vmal_dense_matching();
00030 
00031   void set_fmatrix(const vnl_double_3x3 & F);
00032 
00033   void set_hmatrix(const vnl_double_3x3 & H);
00034 
00035 
00036   // Between two set of lines in 2 images that are matched, it compute
00037   //the best lines using the fundamental constraint.
00038   void refine_lines_using_F(vmal_multi_view_data_edge_sptr mvd_edge,
00039                 vmal_multi_view_data_edge_sptr res);
00040   // Between two set of lines in 2 images that are matched, it compute
00041   //the best lines using the homography.
00042   void refine_lines_using_H(vmal_multi_view_data_edge_sptr mvd_edge,
00043                   vmal_multi_view_data_edge_sptr res);
00044 
00045   void disparity_map(vmal_multi_view_data_edge_sptr mvd_edge,
00046     int h, int w);
00047 
00048 private:
00049   vnl_double_3x3 _H0,_H1,_F;
00050   vnl_double_3x3 _H;
00051   int _type; //1 for Fundamental matrix, 2 for Homography matrix
00052 };
00053 
00054 #endif

Generated on Wed Oct 8 05:18:12 2008 for contrib/gel/vmal by  doxygen 1.5.1