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.
1.7.5.1