A class for the perspective camera model. More...
#include <vnl/vnl_fwd.h>
#include <vgl/vgl_fwd.h>
#include <vgl/vgl_point_3d.h>
#include <vgl/vgl_homg_point_3d.h>
#include <vgl/algo/vgl_rotation_3d.h>
#include <vgl/vgl_ray_3d.h>
#include <vcl_iosfwd.h>
#include "vpgl_proj_camera.h"
#include "vpgl_calibration_matrix.h"
Go to the source code of this file.
Classes | |
class | vpgl_perspective_camera< T > |
This class implements the perspective camera class as described in Hartley & Zisserman as a finite camera. More... | |
Functions | |
template<class Type > | |
vcl_ostream & | operator<< (vcl_ostream &s, vpgl_perspective_camera< Type > const &p) |
Write vpgl_perspective_camera to stream. | |
template<class Type > | |
vcl_istream & | operator>> (vcl_istream &s, vpgl_perspective_camera< Type > &p) |
Read vpgl_perspective_camera from stream. | |
template<class Type > | |
void | vrml_write (vcl_ostream &s, vpgl_perspective_camera< Type > const &p, double rad) |
Write vpgl_perspective_camera to a vrml file, does not write a vrml header, only the camera, the camera center sphere has radius rad. | |
template<class T > | |
bool | vpgl_perspective_decomposition (const vnl_matrix_fixed< T, 3, 4 > &camera_matrix, vpgl_perspective_camera< T > &p_camera) |
Decompose camera into parameter blocks. | |
template<class T > | |
vpgl_perspective_camera< T > | vpgl_align_down (const vpgl_perspective_camera< T > &p0, const vpgl_perspective_camera< T > &p1) |
Changes the coordinate system of camera p1 such that the same change would transform p0 to K[I|0]. | |
template<class T > | |
vpgl_perspective_camera< T > | vpgl_align_up (const vpgl_perspective_camera< T > &p0, const vpgl_perspective_camera< T > &p1) |
Changes the coordinate system of camera p1 such that the same change would transform K[I|0] to p0. | |
template<class T > | |
double | vpgl_persp_cam_distance (const vpgl_perspective_camera< T > &cam1, const vpgl_perspective_camera< T > &cam2) |
template<class T > | |
vpgl_perspective_camera< T > | postmultiply (const vpgl_perspective_camera< T > &in_cam, const vgl_h_matrix_3d< T > &euclid_trans) |
template<class T > | |
vcl_vector < vpgl_perspective_camera< T > > | cameras_from_directory (vcl_string dir, T) |
Return a list of camera's, loaded from the (name sorted) files from the given directory. |
A class for the perspective camera model.
Modifications May 08, 2005 Ricardo Fabbri Added binary I/O support May 08, 2005 Ricardo Fabbri Added == operator Feb 8, 2007 Thomas Pollard Added finite backproject method. Mar 16, 2007 Matt Leotta Replaced vgl_h_matrix_3d with vgl_rotation_3d for rotation May 31, 2011 Peter Vanroose Added homg-coord. "backproject()" method
Definition in file vpgl_perspective_camera.h.
vcl_vector<vpgl_perspective_camera<T> > cameras_from_directory | ( | vcl_string | dir, |
T | |||
) |
Return a list of camera's, loaded from the (name sorted) files from the given directory.
Definition at line 528 of file vpgl_perspective_camera.txx.
vcl_ostream& operator<< | ( | vcl_ostream & | s, |
vpgl_perspective_camera< Type > const & | p | ||
) |
Write vpgl_perspective_camera to stream.
Definition at line 423 of file vpgl_perspective_camera.txx.
vcl_istream& operator>> | ( | vcl_istream & | s, |
vpgl_perspective_camera< Type > & | p | ||
) |
Read vpgl_perspective_camera from stream.
Definition at line 438 of file vpgl_perspective_camera.txx.
vpgl_perspective_camera<T> postmultiply | ( | const vpgl_perspective_camera< T > & | in_cam, |
const vgl_h_matrix_3d< T > & | euclid_trans | ||
) |
Definition at line 207 of file vpgl_perspective_camera.h.
vpgl_perspective_camera<T> vpgl_align_down | ( | const vpgl_perspective_camera< T > & | p0, |
const vpgl_perspective_camera< T > & | p1 | ||
) |
Changes the coordinate system of camera p1 such that the same change would transform p0 to K[I|0].
Definition at line 337 of file vpgl_perspective_camera.txx.
vpgl_perspective_camera<T> vpgl_align_up | ( | const vpgl_perspective_camera< T > & | p0, |
const vpgl_perspective_camera< T > & | p1 | ||
) |
Changes the coordinate system of camera p1 such that the same change would transform K[I|0] to p0.
Definition at line 356 of file vpgl_perspective_camera.txx.
double vpgl_persp_cam_distance | ( | const vpgl_perspective_camera< T > & | cam1, |
const vpgl_perspective_camera< T > & | cam2 | ||
) |
Definition at line 565 of file vpgl_perspective_camera.txx.
bool vpgl_perspective_decomposition | ( | const vnl_matrix_fixed< T, 3, 4 > & | camera_matrix, |
vpgl_perspective_camera< T > & | p_camera | ||
) |
Decompose camera into parameter blocks.
Attempts to decompose a 3x4 camera matrix into the parameter blocks that describe a perspective camera, but will only work if the supplied matrix has a left 3x3 submatrix with rank 3.
Definition at line 267 of file vpgl_perspective_camera.txx.
void vrml_write | ( | vcl_ostream & | str, |
vpgl_perspective_camera< Type > const & | p, | ||
double | rad | ||
) |
Write vpgl_perspective_camera to a vrml file, does not write a vrml header, only the camera, the camera center sphere has radius rad.
Definition at line 470 of file vpgl_perspective_camera.txx.