PARP Research Group Universidad de Murcia


QVCameraPose Class Reference

Class for the camera pose of a view, in a 3D reconstruction. More...

List of all members.

Public Member Functions

 QVCameraPose (const QVQuaternion q=QVQuaternion(), const QV3DPointF &centre=QV3DPointF())
 Default constructor.
 QVCameraPose (const QVVector &v)
 Default constructor.
 QVCameraPose (const QVEuclideanMapping3 e3)
 Convert constructor.
 operator QVEuclideanMapping3 () const
 Convert to 3D euclidean mapping operator.
 operator QVVector () const
 Convert to compact vector representation operator.
bool containsNaN () const
 Detect NaN values in the components of the camera pose.
bool operator== (const QVCameraPose &other) const
 Compare equal operator.
bool operator!= (const QVCameraPose &other) const
 Compare not equal operator.
QVQuaternion getOrientation () const
 Orientation of the camera pose.
QV3DPointF getCenter () const
 Center of the camera pose.
QPointF project (const QV3DPointF &p3D) const
 Projects a 3D point at the image plane for the camera pose.
QV3DPointF toCameraReferenceCoordinates (const QV3DPointF &p3D) const
 Obtains the coordinates for a 3D point, regarding the camera pose coordinate system.
QVMatrix toProjectionMatrix () const
 Cast to a pin-hole projection matrix.
QVCameraPose operator* (const QVCameraPose &other) const
 Composes two camera poses.
QVCameraPose compose (const QVCameraPose &other) const
 Composes two camera poses.
QVCameraPose inverse () const
 Provides the inverse of the camera pose.

Detailed Description

Class for the camera pose of a view, in a 3D reconstruction.

This class specifies the orientation and location of a camera, in a SfM reconstruction.

It is similar to the class QVEuclideanMapping3. The main difference is that the camera center in class QVCameraPose is stored explicitally, instead of as an indirect measurement of the translation of the euclidean mapping.

Definition at line 42 of file qvcamerapose.h.


Constructor & Destructor Documentation

QVCameraPose::QVCameraPose ( const QVQuaternion  q = QVQuaternion(),
const QV3DPointF centre = QV3DPointF() 
) [inline]

Default constructor.

Creates a new camera pose from its orientation and its center location.

Parameters:
q Quaternion representing the orientation of the camera.
centre 3D location of the camera center.

Definition at line 55 of file qvcamerapose.h.

QVCameraPose::QVCameraPose ( const QVVector v  )  [inline]

Default constructor.

Creates a new camera pose from its orientation and its center location.

Parameters:
q Quaternion representing the orientation of the camera.
centre 3D location of the camera center.

Definition at line 68 of file qvcamerapose.h.

QVCameraPose::QVCameraPose ( const QVEuclideanMapping3  e3  )  [inline]

Convert constructor.

Creates a new camera pose from its pin-hole geometry, specified by an euclidean transformation. This constructor takes as input the 3D euclidean transformation which maps the 3D point location to the homogeneous coordinates of the image 2D points. This mapping is transformed to the camera pose.

Parameters:
e3 euclidean mapping corresponding to the pin-hole camera geometry.

Definition at line 82 of file qvcamerapose.h.


Member Function Documentation

QVCameraPose::operator QVEuclideanMapping3 (  )  const [inline]

Convert to 3D euclidean mapping operator.

This operator converts the camera pose to the 3D euclidean transformation which maps 3D point locations to 2D homogeneous image point coordinates.

Definition at line 95 of file qvcamerapose.h.

QVCameraPose::operator QVVector (  )  const [inline]

Convert to compact vector representation operator.

This operator obtains a compact vector representation of the camera pose in 7 coordinates:

  • 4 for the orientation, parametrized as a quaternion vector.
  • 3 for the camera center.

Definition at line 109 of file qvcamerapose.h.

bool QVCameraPose::containsNaN (  )  const [inline]

Detect NaN values in the components of the camera pose.

Returns:
true if either the components of the orientation quaternion or the center point contain a NaN value.

Definition at line 129 of file qvcamerapose.h.

Referenced by checkForNaNValues().

bool QVCameraPose::operator== ( const QVCameraPose other  )  const [inline]

Compare equal operator.

Returns:
true if the orientation and the camera center of both camera poses is equal.

Definition at line 134 of file qvcamerapose.h.

bool QVCameraPose::operator!= ( const QVCameraPose other  )  const [inline]

Compare not equal operator.

Returns:
true if the orientation and the camera center of both camera poses is equal.

Definition at line 146 of file qvcamerapose.h.

QVQuaternion QVCameraPose::getOrientation (  )  const [inline]

Orientation of the camera pose.

Returns:
A quaternion vector representing the camera pose orientation.

Definition at line 158 of file qvcamerapose.h.

Referenced by globalEpipolarAdjustment(), and incrementalGEA().

QV3DPointF QVCameraPose::getCenter (  )  const [inline]

Center of the camera pose.

Returns:
A 3D point corresponding to the camera center.

Definition at line 163 of file qvcamerapose.h.

Referenced by globalEpipolarAdjustment(), and incrementalGEA().

QPointF QVCameraPose::project ( const QV3DPointF p3D  )  const [inline]

Projects a 3D point at the image plane for the camera pose.

Parameters:
p3D 3D point to project.
Returns:
A 2D image point corresponding to the projection of the 3D point.

Definition at line 169 of file qvcamerapose.h.

QV3DPointF QVCameraPose::toCameraReferenceCoordinates ( const QV3DPointF p3D  )  const [inline]

Obtains the coordinates for a 3D point, regarding the camera pose coordinate system.

Parameters:
p3D 3D point.
Returns:
3D point coordinates, regarding the camera coordinate reference.

Definition at line 182 of file qvcamerapose.h.

QVMatrix QVCameraPose::toProjectionMatrix (  )  const [inline]

Cast to a pin-hole projection matrix.

Returns:
A rotation-translation matrix $ R[I|-C] $, where $ R $ is the orientation of the camera, and $ C $ is the center location of the camera.

Definition at line 195 of file qvcamerapose.h.

Referenced by compose(), inverse(), linear3DPointTriangulation(), and testCheirality().

QVCameraPose QVCameraPose::operator* ( const QVCameraPose other  )  const [inline]

Composes two camera poses.

Parameters:
Operand camera pose for the composition.
See also:
compose

Definition at line 219 of file qvcamerapose.h.

QVCameraPose QVCameraPose::compose ( const QVCameraPose other  )  const [inline]

Composes two camera poses.

Definition at line 223 of file qvcamerapose.h.

Referenced by operator*().

QVCameraPose QVCameraPose::inverse (  )  const [inline]

Provides the inverse of the camera pose.

Definition at line 256 of file qvcamerapose.h.


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



QVision framework. PARP research group. Copyright © 2007, 2008, 2009, 2010, 2011.