2 #ifndef vpgl_fundamental_matrix_h_ 3 #define vpgl_fundamental_matrix_h_ 33 # include <vcl_msvc_warnings.h> 134 #endif // vpgl_fundamental_matrix_h_ const vnl_svd< T > & svd() const
Get a copy of the svd of the fundamental matrix.
vgl_homg_line_2d< T > l_epipolar_line(const vgl_homg_point_2d< T > &pr) const
std::istream & operator>>(std::istream &is, vpgl_local_rational_camera< T > &p)
Read from stream.
void get_epipoles(vgl_homg_point_2d< T > &er, vgl_homg_point_2d< T > &el) const
Put the coordinates of the epipoles in er, el.
A class representing the "K" matrix of a perspective camera matrix as described in.
const vpgl_fundamental_matrix< T > & operator=(const vpgl_fundamental_matrix< T > &fm)
Assignment.
vnl_matrix_fixed< T, 3, 3 > F_
Internal representation of the fundamental matrix.
vnl_svd< T > * cached_svd_
Cached copy of the svd.
vpgl_fundamental_matrix(const vpgl_proj_camera< T > &cr, const vpgl_proj_camera< T > &cl)
Main constructor takes two projective cameras.
vpgl_fundamental_matrix()
Default constructor creates dummy rank 2 matrix.
std::ostream & operator<<(std::ostream &s, const vpgl_local_rational_camera< T > &p)
Write to stream.
A camera model using the standard 3x4 matrix representation.
vpgl_fundamental_matrix(const vnl_matrix_fixed< T, 3, 3 > &F)
Construct from a fundamental matrix in vnl form.
vpgl_proj_camera< T > extract_left_camera(const vnl_vector_fixed< T, 3 > &v, T lambda) const
Gives the left camera matrix corresponding to the fundamental matrix.
virtual ~vpgl_fundamental_matrix()
Destructor.
vgl_homg_line_2d< T > r_epipolar_line(const vgl_homg_point_2d< T > &pl) const
Given a point in one image, find the corresponding epipolar line in the other image.
const vnl_matrix_fixed< T, 3, 3 > & get_matrix() const
Get a copy of the FM in vnl form.
void set_matrix(const vpgl_proj_camera< T > &cr, const vpgl_proj_camera< T > &cl)