A class for the perspective camera model. More...
#include <iosfwd>#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 <vgl/vgl_frustum_3d.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 > | |
| std::ostream & | operator<< (std::ostream &s, vpgl_perspective_camera< Type > const &p) |
| Write vpgl_perspective_camera to stream. More... | |
| template<class Type > | |
| std::istream & | operator>> (std::istream &s, vpgl_perspective_camera< Type > &p) |
| Read vpgl_perspective_camera from stream. More... | |
| template<class Type > | |
| void | vrml_write (std::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. More... | |
| 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. More... | |
| 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]. More... | |
| 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. More... | |
| 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 > | |
| std::vector< vpgl_perspective_camera< T > > | cameras_from_directory (std::string dir, T) |
| Return a list of camera's, loaded from the (name sorted) files from the given directory. More... | |
| template<class T > | |
| vgl_frustum_3d< T > | frustum (vpgl_perspective_camera< T > const &cam, T d_near, T d_far) |
| compute the frustrum of the camera view cone. The near plane. More... | |
| template<class T > | |
| vgl_vector_3d< T > | vpgl_persp_cam_base_line_vector (const vpgl_perspective_camera< T > &cam1, const vpgl_perspective_camera< T > &cam2) |
| template<class T > | |
| vgl_rotation_3d< T > | vpgl_persp_cam_relative_orientation (const vpgl_perspective_camera< T > &cam1, const vpgl_perspective_camera< T > &cam2) |
| compute rotation such that principal_vector1 = R*principal_vector2. More... | |
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.
| std::vector<vpgl_perspective_camera<T> > cameras_from_directory | ( | std::string | dir, |
| T | |||
| ) |
Return a list of camera's, loaded from the (name sorted) files from the given directory.
Definition at line 531 of file vpgl_perspective_camera.hxx.
| vgl_frustum_3d<T> frustum | ( | vpgl_perspective_camera< T > const & | cam, |
| T | d_near, | ||
| T | d_far | ||
| ) |
compute the frustrum of the camera view cone. The near plane.
the far plane distances are user defined.
Definition at line 595 of file vpgl_perspective_camera.hxx.
| std::ostream& operator<< | ( | std::ostream & | s, |
| vpgl_perspective_camera< Type > const & | p | ||
| ) |
Write vpgl_perspective_camera to stream.
Definition at line 426 of file vpgl_perspective_camera.hxx.
| std::istream& operator>> | ( | std::istream & | s, |
| vpgl_perspective_camera< Type > & | p | ||
| ) |
Read vpgl_perspective_camera from stream.
| vpgl_perspective_camera<T> postmultiply | ( | const vpgl_perspective_camera< T > & | in_cam, |
| const vgl_h_matrix_3d< T > & | euclid_trans | ||
| ) |
Definition at line 218 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 340 of file vpgl_perspective_camera.hxx.
| 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 359 of file vpgl_perspective_camera.hxx.
| vgl_vector_3d<T> vpgl_persp_cam_base_line_vector | ( | const vpgl_perspective_camera< T > & | cam1, |
| const vpgl_perspective_camera< T > & | cam2 | ||
| ) |
Definition at line 578 of file vpgl_perspective_camera.hxx.
| double vpgl_persp_cam_distance | ( | const vpgl_perspective_camera< T > & | cam1, |
| const vpgl_perspective_camera< T > & | cam2 | ||
| ) |
Definition at line 567 of file vpgl_perspective_camera.hxx.
| vgl_rotation_3d<T> vpgl_persp_cam_relative_orientation | ( | const vpgl_perspective_camera< T > & | cam1, |
| const vpgl_perspective_camera< T > & | cam2 | ||
| ) |
compute rotation such that principal_vector1 = R*principal_vector2.
Definition at line 585 of file vpgl_perspective_camera.hxx.
| 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 270 of file vpgl_perspective_camera.hxx.
| void vrml_write | ( | std::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.
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 473 of file vpgl_perspective_camera.hxx.
1.8.15