Public Member Functions | Protected Attributes
vpgl_affine_fundamental_matrix< T > Class Template Reference

#include <vpgl_affine_fundamental_matrix.h>

Inheritance diagram for vpgl_affine_fundamental_matrix< T >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 vpgl_affine_fundamental_matrix ()
 Default constructor creates dummy matrix.
 vpgl_affine_fundamental_matrix (const vpgl_fundamental_matrix< T > &fm)
 Cast up from a regular vpgl_fundamental_matrix.
void set_from_params (T a, T b, T c, T d, T e)
 Form the matrix from its free parameters.
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.
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.
vgl_homg_line_2d< T > r_epipolar_line (const vgl_homg_line_2d< T > &epiline_l) const
 Given an epipolar line in one image, find the corresponding epipolar line in the other image.
vgl_homg_line_2d< T > l_epipolar_line (const vgl_homg_point_2d< T > &pr) const
vgl_homg_line_2d< T > l_epipolar_line (const vgl_homg_line_2d< T > &epiline_r) const
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.
vpgl_proj_camera< T > extract_left_camera (const vcl_vector< vgl_point_3d< T > > &world_points, const vcl_vector< vgl_point_2d< T > > &image_points) const
 Alternative left camera extractor.
const vnl_matrix_fixed< T, 3, 3 > & get_matrix () const
 Get a copy of the FM in vnl form.
const vnl_svd< T > & svd () const
 Get a copy of the svd of the fundamental matrix.
void set_matrix (const vpgl_proj_camera< T > &cr, const vpgl_proj_camera< T > &cl)
void set_matrix (const vnl_matrix_fixed< T, 3, 3 > &F)

Protected Attributes

vnl_matrix_fixed< T, 3, 3 > F_
 Internal representation of the fundamental matrix.
vnl_svd< T > * cached_svd_
 Cached copy of the svd.

Detailed Description

template<class T>
class vpgl_affine_fundamental_matrix< T >

Definition at line 22 of file vpgl_affine_fundamental_matrix.h.


Constructor & Destructor Documentation

Default constructor creates dummy matrix.

Definition at line 13 of file vpgl_affine_fundamental_matrix.txx.

Cast up from a regular vpgl_fundamental_matrix.

Definition at line 25 of file vpgl_affine_fundamental_matrix.txx.


Member Function Documentation

template<class T >
vpgl_proj_camera< T > vpgl_fundamental_matrix< T >::extract_left_camera ( const vnl_vector_fixed< T, 3 > &  v,
lambda 
) const [inherited]

Gives the left camera matrix corresponding to the fundamental matrix.

The right camera matrix is assumed to be identity. The variables v, lambda are free parameters as described in H&Z 2nd ed p. 256.

Definition at line 159 of file vpgl_fundamental_matrix.txx.

template<class T >
vpgl_proj_camera< T > vpgl_fundamental_matrix< T >::extract_left_camera ( const vcl_vector< vgl_point_3d< T > > &  world_points,
const vcl_vector< vgl_point_2d< T > > &  image_points 
) const [inherited]

Alternative left camera extractor.

Takes corresponding lists of image points with their world locations to determine the correct camera. Must give at least 2 pairs of correspondences. This is not a robust algorithm but this shouldn't be a problem as these correspondences will usually be picked by hand.

Definition at line 184 of file vpgl_fundamental_matrix.txx.

template<class T >
void vpgl_fundamental_matrix< T >::get_epipoles ( vgl_homg_point_2d< T > &  er,
vgl_homg_point_2d< T > &  el 
) const [inherited]

Put the coordinates of the epipoles in er, el.

Definition at line 85 of file vpgl_fundamental_matrix.txx.

template<class T>
const vnl_matrix_fixed<T,3,3>& vpgl_fundamental_matrix< T >::get_matrix ( ) const [inline, inherited]

Get a copy of the FM in vnl form.

Definition at line 104 of file vpgl_fundamental_matrix.h.

template<class T >
vgl_homg_line_2d< T > vpgl_fundamental_matrix< T >::l_epipolar_line ( const vgl_homg_point_2d< T > &  pr) const [inherited]

Definition at line 108 of file vpgl_fundamental_matrix.txx.

template<class T >
vgl_homg_line_2d< T > vpgl_fundamental_matrix< T >::l_epipolar_line ( const vgl_homg_line_2d< T > &  epiline_r) const [inherited]

Definition at line 139 of file vpgl_fundamental_matrix.txx.

template<class T >
vgl_homg_line_2d< T > vpgl_fundamental_matrix< T >::r_epipolar_line ( const vgl_homg_point_2d< T > &  pl) const [inherited]

Given a point in one image, find the corresponding epipolar line in the other image.

Definition at line 97 of file vpgl_fundamental_matrix.txx.

template<class T >
vgl_homg_line_2d< T > vpgl_fundamental_matrix< T >::r_epipolar_line ( const vgl_homg_line_2d< T > &  epiline_l) const [inherited]

Given an epipolar line in one image, find the corresponding epipolar line in the other image.

H&Z 2nd ed p. 247

Definition at line 119 of file vpgl_fundamental_matrix.txx.

template<class T >
void vpgl_affine_fundamental_matrix< T >::set_from_params ( a,
b,
c,
d,
e 
)

Form the matrix from its free parameters.

Definition at line 35 of file vpgl_affine_fundamental_matrix.txx.

template<class T >
void vpgl_fundamental_matrix< T >::set_matrix ( const vpgl_proj_camera< T > &  cr,
const vpgl_proj_camera< T > &  cl 
) [inherited]

Definition at line 225 of file vpgl_fundamental_matrix.txx.

template<class T >
void vpgl_fundamental_matrix< T >::set_matrix ( const vnl_matrix_fixed< T, 3, 3 > &  F) [inherited]

Definition at line 247 of file vpgl_fundamental_matrix.txx.

template<class T>
const vnl_svd<T>& vpgl_fundamental_matrix< T >::svd ( ) const [inline, inherited]

Get a copy of the svd of the fundamental matrix.

The svd is computed when the matrix is first set, so this just accesses a cached version.

Definition at line 108 of file vpgl_fundamental_matrix.h.


Member Data Documentation

template<class T>
vnl_svd<T>* vpgl_fundamental_matrix< T >::cached_svd_ [mutable, protected, inherited]

Cached copy of the svd.

Definition at line 120 of file vpgl_fundamental_matrix.h.

template<class T>
vnl_matrix_fixed<T,3,3> vpgl_fundamental_matrix< T >::F_ [protected, inherited]

Internal representation of the fundamental matrix.

Definition at line 117 of file vpgl_fundamental_matrix.h.


The documentation for this class was generated from the following files: