contrib/oxl/mvl/PMatrixComputeLinear.h
Go to the documentation of this file.
00001 // This is oxl/mvl/PMatrixComputeLinear.h
00002 #ifndef PMatrixComputeLinear_h_
00003 #define PMatrixComputeLinear_h_
00004 //:
00005 // \file
00006 //
00007 // PMatrixComputeLinear contains a linear method to calculate the P matrix
00008 // from at least six 3D-to-2D point correspondences.  Precisely, given
00009 // 3D points $\vec X_i$ and their images $\vec u_i$, we compute $P$ such that
00010 // $P \vec X_i \sim \vec u_i$.
00011 //
00012 // \verbatim
00013 // Modifications
00014 //    22 Oct 2002 - Peter Vanroose - added vgl_homg_point_2d interface
00015 // \endverbatim
00016 
00017 #include <mvl/PMatrixCompute.h>
00018 #include <mvl/HomgPoint2D.h>
00019 #include <mvl/HomgPoint3D.h>
00020 #include <vgl/vgl_homg_point_2d.h>
00021 #include <vgl/vgl_homg_point_3d.h>
00022 #include <vcl_stlfwd.h>
00023 class PMatrix;
00024 
00025 class PMatrixComputeLinear : public PMatrixCompute
00026 {
00027  public:
00028   bool compute(vcl_vector<HomgPoint2D> const& points1, vcl_vector<HomgPoint3D> const& points2, PMatrix *P);
00029   bool compute(vcl_vector<vgl_homg_point_2d<double> > const& points1,
00030                vcl_vector<vgl_homg_point_3d<double> > const& points2,
00031                PMatrix *P);
00032 };
00033 
00034 #endif // PMatrixComputeLinear_h_