#include <vpgl_fundamental_matrix.h>
Inheritance diagram for vpgl_fundamental_matrix< T >:

Definition at line 28 of file vpgl_fundamental_matrix.h.
Public Member Functions | |
| vpgl_fundamental_matrix () | |
| Default constructor creates dummy rank 2 matrix. | |
| vpgl_fundamental_matrix (const vpgl_proj_camera< T > &cr, const vpgl_proj_camera< T > &cl) | |
| Main constructor takes two projective cameras. | |
| vpgl_fundamental_matrix (const vnl_matrix_fixed< T, 3, 3 > &F) | |
| Construct from a fundamental matrix in vnl form. | |
| vpgl_fundamental_matrix (const vpgl_fundamental_matrix< T > &other) | |
| Copy Constructor. | |
| const vpgl_fundamental_matrix< T > & | operator= (const vpgl_fundamental_matrix< T > &fm) |
| Assignment. | |
| virtual | ~vpgl_fundamental_matrix () |
| Destructor. | |
| 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 > | l_epipolar_line (const vgl_homg_point_2d< T > &pr) 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, when the right camera matrix is assumed to be identity. | |
| 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. | |
| vpgl_fundamental_matrix< T >::vpgl_fundamental_matrix | ( | ) |
Default constructor creates dummy rank 2 matrix.
Definition at line 23 of file vpgl_fundamental_matrix.txx.
| vpgl_fundamental_matrix< T >::vpgl_fundamental_matrix | ( | const vpgl_proj_camera< T > & | cr, | |
| const vpgl_proj_camera< T > & | cl | |||
| ) | [inline] |
Main constructor takes two projective cameras.
The RHS of the fundamental matrix will correspond to cr and the LHS to cl.
Definition at line 38 of file vpgl_fundamental_matrix.h.
| vpgl_fundamental_matrix< T >::vpgl_fundamental_matrix | ( | const vnl_matrix_fixed< T, 3, 3 > & | F | ) | [inline] |
Construct from a fundamental matrix in vnl form.
Definition at line 43 of file vpgl_fundamental_matrix.h.
| vpgl_fundamental_matrix< T >::vpgl_fundamental_matrix | ( | const vpgl_fundamental_matrix< T > & | other | ) |
| vpgl_fundamental_matrix< T >::~vpgl_fundamental_matrix | ( | ) | [virtual] |
| const vpgl_fundamental_matrix< T > & vpgl_fundamental_matrix< T >::operator= | ( | const vpgl_fundamental_matrix< T > & | fm | ) |
| void vpgl_fundamental_matrix< T >::get_epipoles | ( | vgl_homg_point_2d< T > & | er, | |
| vgl_homg_point_2d< T > & | el | |||
| ) | const |
Put the coordinates of the epipoles in er, el.
Definition at line 63 of file vpgl_fundamental_matrix.txx.
| vgl_homg_line_2d< T > vpgl_fundamental_matrix< 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.
Definition at line 75 of file vpgl_fundamental_matrix.txx.
| vgl_homg_line_2d< T > vpgl_fundamental_matrix< T >::l_epipolar_line | ( | const vgl_homg_point_2d< T > & | pr | ) | const |
Definition at line 86 of file vpgl_fundamental_matrix.txx.
| vpgl_proj_camera< T > vpgl_fundamental_matrix< T >::extract_left_camera | ( | const vnl_vector_fixed< T, 3 > & | v, | |
| T | lambda | |||
| ) | const |
Gives the left camera matrix corresponding to the fundamental matrix, when the right camera matrix is assumed to be identity.
The variables v, lambda are free parameters as described in H&Z 2nd ed pg 256.
Definition at line 97 of file vpgl_fundamental_matrix.txx.
| 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 |
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 121 of file vpgl_fundamental_matrix.txx.
| const vnl_matrix_fixed<T,3,3>& vpgl_fundamental_matrix< T >::get_matrix | ( | ) | const [inline] |
| const vnl_svd<T>& vpgl_fundamental_matrix< T >::svd | ( | ) | const [inline] |
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 86 of file vpgl_fundamental_matrix.h.
| void vpgl_fundamental_matrix< T >::set_matrix | ( | const vpgl_proj_camera< T > & | cr, | |
| const vpgl_proj_camera< T > & | cl | |||
| ) |
Definition at line 163 of file vpgl_fundamental_matrix.txx.
| void vpgl_fundamental_matrix< T >::set_matrix | ( | const vnl_matrix_fixed< T, 3, 3 > & | F | ) |
Definition at line 173 of file vpgl_fundamental_matrix.txx.
vnl_matrix_fixed<T,3,3> vpgl_fundamental_matrix< T >::F_ [protected] |
Internal representation of the fundamental matrix.
Definition at line 95 of file vpgl_fundamental_matrix.h.
vnl_svd<T>* vpgl_fundamental_matrix< T >::cached_svd_ [mutable, protected] |
1.5.1