This class implements a specialized AnyCamera object wrapping the actual camera model.
More...
|
| AnyCameraWrappingT (ActualCamera &&actualCamera) |
| Creates a new AnyCamera object wrapping the actual camera model.
|
|
| AnyCameraWrappingT (const ActualCamera &actualCamera) |
| Creates a new AnyCamera object wrapping the actual camera model.
|
|
AnyCameraType | anyCameraType () const override |
| Returns the type of this camera.
|
|
std::string | name () const override |
| Returns the name of this camera.
|
|
std::unique_ptr< AnyCameraT< T > > | clone (const unsigned int width=0u, const unsigned int height=0u) const override |
| Returns a copy of this camera object.
|
|
std::unique_ptr< AnyCameraT< float > > | cloneToFloat (const unsigned int width=0u, const unsigned int height=0u) const override |
| Returns a copy of this camera object with float precision.
|
|
std::unique_ptr< AnyCameraT< double > > | cloneToDouble (const unsigned int width=0u, const unsigned int height=0u) const override |
| Returns a copy of this camera object with double precision.
|
|
unsigned int | width () const override |
| Returns the width of the camera image.
|
|
unsigned int | height () const override |
| Returns the height of the camera image.
|
|
VectorT2< T > | principalPoint () const override |
| Returns the coordinate of the principal point of the camera image in the pixel domain.
|
|
T | principalPointX () const override |
| Returns the x-value of the principal point of the camera image in the pixel domain.
|
|
T | principalPointY () const override |
| Returns the y-value of the principal point of the camera image in the pixel domain.
|
|
T | focalLengthX () const override |
| Returns the horizontal focal length parameter.
|
|
T | focalLengthY () const override |
| Returns the vertical focal length parameter.
|
|
T | inverseFocalLengthX () const override |
| Returns the inverse horizontal focal length parameter.
|
|
T | inverseFocalLengthY () const override |
| Returns the inverse vertical focal length parameter.
|
|
T | fovX () const override |
| Returns the field of view in x direction of the camera.
|
|
T | fovY () const override |
| Returns the field of view in x direction of the camera.
|
|
bool | isInside (const VectorT2< T > &imagePoint, const T signedBorder=T(0)) const override |
| Returns whether a given 2D image point lies inside the camera frame.
|
|
VectorT2< T > | projectToImage (const VectorT3< T > &objectPoint) const override |
| Projects a 3D object point into the camera frame.
|
|
VectorT2< T > | projectToImage (const HomogenousMatrixT4< T > &world_T_camera, const VectorT3< T > &objectPoint) const override |
| Projects a 3D object point into the camera frame.
|
|
void | projectToImage (const VectorT3< T > *objectPoints, const size_t size, VectorT2< T > *imagePoints) const override |
| Projects several 3D object points into the camera frame at once.
|
|
void | projectToImage (const HomogenousMatrixT4< T > &world_T_camera, const VectorT3< T > *objectPoints, const size_t size, VectorT2< T > *imagePoints) const override |
| Projects several 3D object points into the camera frame at once.
|
|
VectorT2< T > | projectToImageIF (const VectorT3< T > &objectPoint) const override |
| Projects a 3D object point into the camera frame.
|
|
VectorT2< T > | projectToImageIF (const HomogenousMatrixT4< T > &flippedCamera_T_world, const VectorT3< T > &objectPoint) const override |
| Projects a 3D object point into the camera frame.
|
|
void | projectToImageIF (const VectorT3< T > *objectPoints, const size_t size, VectorT2< T > *imagePoints) const override |
| Projects several 3D object points into the camera frame at once.
|
|
void | projectToImageIF (const HomogenousMatrixT4< T > &flippedCamera_T_world, const VectorT3< T > *objectPoints, const size_t size, VectorT2< T > *imagePoints) const override |
| Projects several 3D object points into the camera frame at once.
|
|
VectorT3< T > | vector (const VectorT2< T > &distortedImagePoint, const bool makeUnitVector=true) const override |
| Returns a vector starting at the camera's center and intersecting a given 2D point in the image.
|
|
void | vector (const VectorT2< T > *distortedImagePoints, const size_t size, VectorT3< T > *vectors, const bool makeUnitVector=true) const override |
| Determines vectors starting at the camera's center and intersecting given 2D points in the image.
|
|
VectorT3< T > | vectorIF (const VectorT2< T > &distortedImagePoint, const bool makeUnitVector=true) const override |
| Returns a vector starting at the camera's center and intersecting a given 2D point in the image.
|
|
void | vectorIF (const VectorT2< T > *distortedImagePoints, const size_t size, VectorT3< T > *vectors, const bool makeUnitVector=true) const override |
| Returns vectors starting at the camera's center and intersecting a given 2D points in the image.
|
|
LineT3< T > | ray (const VectorT2< T > &distortedImagePoint, const HomogenousMatrixT4< T > &world_T_camera) const override |
| Returns a ray starting at the camera's center and intersecting a given 2D point in the image.
|
|
LineT3< T > | ray (const VectorT2< T > &distortedImagePoint) const override |
| Returns a ray starting at the camera's center and intersecting a given 2D point in the image.
|
|
void | pointJacobian2x3IF (const VectorT3< T > &flippedCameraObjectPoint, T *jx, T *jy) const override |
| Calculates the 2x3 jacobian matrix for the 3D object point projection into the camera frame.
|
|
void | pointJacobian2nx3IF (const VectorT3< T > *flippedCameraObjectPoints, const size_t numberObjectPoints, T *jacobians) const override |
| Calculates the 2n x 3 jacobian matrix for the 3D object point projection into the camera frame.
|
|
bool | isEqual (const AnyCameraT< T > &anyCamera, const T eps=NumericT< T >::eps()) const override |
| Returns whether two camera objects are identical up to a given epsilon.
|
|
bool | isValid () const override |
| Returns whether this camera is valid.
|
|
virtual | ~AnyCameraT ()=default |
| Destructs the AnyCamera object.
|
|
std::shared_ptr< AnyCameraT< float > > | convert (const std::shared_ptr< AnyCameraT< double > > &anyCamera) |
|
std::shared_ptr< AnyCameraT< double > > | convert (const std::shared_ptr< AnyCameraT< float > > &anyCamera) |
|
|
template<typename U > |
static std::shared_ptr< AnyCameraT< T > > | convert (const std::shared_ptr< AnyCameraT< U > > &anyCamera) |
| Converts an AnyCamera object with arbitrary scalar type to another AnyCamera object with arbitrary scalar type.
|
|
static T | fovX2Y (const T fovX, const T aspectRatio) |
| Calculates the vertical FOV from the horizontal FOV and the aspect ratio of the camera image.
|
|
static T | fovY2X (const T fovY, const T aspectRatio) |
| Calculates the horizontal FOV from the vertical FOV and the aspect ratio of the camera image.
|
|
static T | fieldOfViewToFocalLength (const unsigned int width, const T fovX) |
| Converts field of view (and width) to the corresponding focal length.
|
|
static VectorT2< T > | objectPoint2normalizedImagePoint (const HomogenousMatrixT4< T > &extrinsic, const VectorT3< T > &objectPoint) |
| Calculates the normalized image point (the normalized projected object point) for a of given object point with corresponding extrinsic camera matrix.
|
|
static VectorT2< T > | objectPoint2normalizedImagePointIF (const HomogenousMatrixT4< T > &iFlippedExtrinsic, const VectorT3< T > &objectPoint) |
| Calculates the normalized image point (the normalized projected object point) for a given object point with corresponding inverse and flipped extrinsic camera matrix.
|
|
static void | objectPoints2normalizedImagePoints (const HomogenousMatrixT4< T > &extrinsic, const VectorT3< T > *objectPoints, const size_t numberObjectPoints, VectorT2< T > *normalizedImagePoints) |
| Calculates the normalized image points (the normalized projected object points) for a set of given object points with corresponding extrinsic camera matrix.
|
|
static void | objectPoints2normalizedImagePointsIF (const HomogenousMatrixT4< T > &iFlippedExtrinsic, const VectorT3< T > *objectPoints, const size_t numberObjectPoints, VectorT2< T > *normalizedImagePoints) |
| Calculates the normalized image points (the normalized projected object points) for a set of given object points with corresponding inverse and flipped extrinsic camera matrix.
|
|
template<typename U = T> |
static SquareMatrixT3< U > | flipMatrix3 () |
| Returns the 3x3 transformation matrix flipping a transformation around the x-axis by 180 deg.
|
|
template<typename U = T> |
static HomogenousMatrixT4< U > | flipMatrix4 () |
| Returns the 4x4 transformation matrix flipping a transformation around the x-axis by 180 deg.
|
|
template<typename U = T> |
static QuaternionT< U > | flipQuaternion () |
| Returns the quaternion flipping a rotation around the x-axis by 180 deg.
|
|
template<typename U > |
static HomogenousMatrixT4< U > | flippedTransformationLeftSide (const HomogenousMatrixT4< U > &left_T_right) |
| Flips a transformation matrix around the x-axis by 180 degree.
|
|
template<typename U > |
static HomogenousMatrixT4< U > | flippedTransformationRightSide (const HomogenousMatrixT4< U > &left_T_right) |
| Flips a transformation matrix around the x-axis by 180 degree.
|
|
template<typename U > |
static HomogenousMatrixT4< U > | flippedTransformationLeftAndRightSide (const HomogenousMatrixT4< U > &left_T_right) |
| Flips a transformation matrix around the x-axis by 180 degree.
|
|
template<typename U > |
static SquareMatrixT3< U > | flippedTransformationLeftSide (const SquareMatrixT3< U > &left_R_right) |
| Flips a 3x3 rotation matrix around the x-axis by 180 degree.
|
|
template<typename U > |
static SquareMatrixT3< U > | flippedTransformationRightSide (const SquareMatrixT3< U > &left_R_right) |
| Flips a 3x3 rotation matrix around the x-axis by 180 degree.
|
|
template<typename U > |
static SquareMatrixT3< U > | flippedTransformationLeftAndRightSide (const SquareMatrixT3< U > &left_R_right) |
| Flips a 3x3 rotation matrix around the x-axis by 180 degree.
|
|
template<typename U > |
static QuaternionT< U > | flippedTransformationLeftSide (const QuaternionT< U > &left_Q_right) |
| Flips a quaternion around the x-axis by 180 degree.
|
|
template<typename U > |
static QuaternionT< U > | flippedTransformationRightSide (const QuaternionT< U > &left_Q_right) |
| Flips a quaternion around the x-axis by 180 degree.
|
|
template<typename U > |
static QuaternionT< U > | flippedTransformationLeftAndRightSide (const QuaternionT< U > &left_Q_right) |
| Flips a quaternion around the x-axis by 180 degree.
|
|
template<typename U > |
static HomogenousMatrixT4< U > | standard2InvertedFlipped (const HomogenousMatrixT4< U > &world_T_camera) |
| Transforms a standard homogenous 4x4 viewing (extrinsic camera) matrix into an inverted and flipped camera pose.
|
|
template<typename U > |
static HomogenousMatricesT4< U > | standard2InvertedFlipped (const HomogenousMatrixT4< U > *world_T_cameras, const size_t number) |
| Transforms standard homogenous 4x4 viewing (extrinsic camera) matrices into an inverted and flipped camera matrices.
|
|
template<typename U > |
static void | standard2InvertedFlipped (const HomogenousMatrixT4< U > *world_T_cameras, HomogenousMatrixT4< U > *flippedCameras_T_world, const size_t number) |
| Transforms standard homogenous 4x4 viewing (extrinsic camera) matrices into an inverted and flipped camera matrices.
|
|
template<typename U > |
static HomogenousMatricesT4< U > | standard2InvertedFlipped (const HomogenousMatricesT4< U > &world_T_cameras) |
| Transforms standard homogenous 4x4 viewing (extrinsic camera) matrices into an inverted and flipped camera matrices.
|
|
template<typename U > |
static SquareMatrixT3< U > | standard2InvertedFlipped (const SquareMatrixT3< U > &world_R_camera) |
| Transforms a standard 3x3 rotation matrix into an inverted and flipped rotation matrix.
|
|
template<typename U > |
static QuaternionT< U > | standard2InvertedFlipped (const QuaternionT< U > &world_Q_camera) |
| Transforms a standard rotation quaternion into an inverted and flipped rotation quaternion.
|
|
template<typename U > |
static HomogenousMatrixT4< U > | invertedFlipped2Standard (const HomogenousMatrixT4< U > &flippedCamera_T_world) |
| Transforms an inverted and flipped camera pose into a standard camera pose.
|
|
template<typename U > |
static HomogenousMatricesT4< U > | invertedFlipped2Standard (const HomogenousMatrixT4< U > *flippedCameras_T_world, const size_t number) |
| Transforms inverted and flipped camera matrices into standard viewing (extrinsic camera) matrices.
|
|
template<typename U > |
static void | invertedFlipped2Standard (const HomogenousMatrixT4< U > *flippedCameras_T_world, HomogenousMatrixT4< U > *world_T_cameras, const size_t number) |
| Transforms inverted and flipped camera matrices into standard viewing (extrinsic camera) matrices.
|
|
template<typename U > |
static HomogenousMatricesT4< U > | invertedFlipped2Standard (const HomogenousMatricesT4< U > &flippedCameras_T_world) |
| Transforms inverted and flipped camera matrices into standard viewing (extrinsic camera) matrices.
|
|
template<typename U > |
static SquareMatrixT3< U > | invertedFlipped2Standard (const SquareMatrixT3< U > &flippedCamera_R_world) |
| Transforms an inverted and flipped rotation matrix into a standard viewing rotation matrix.
|
|
template<typename U > |
static QuaternionT< U > | invertedFlipped2Standard (const QuaternionT< U > &flippedCamera_Q_world) |
| Transforms an inverted and flipped rotation quaternion into a standard viewing rotation quaternion.
|
|
static bool | isObjectPointInFrontIF (const HomogenousMatrixT4< T > &flippedCamera_T_world, const VectorT3< T > &objectPoint, const T epsilon=NumericT< T >::eps()) |
| Determines whether a given 3D object point lies in front of a camera while the location of the camera is defined by a 6-DOF pose.
|
|
static bool | isObjectPointInFrontIF (const SquareMatrixT3< T > &flippedCamera_R_world, const VectorT3< T > &objectPoint, const T epsilon=NumericT< T >::eps()) |
| Determines whether a given 3D object point lies in front of a camera while the location of the camera is defined by a 3-DOF orientation.
|
|
| AnyCameraT ()=default |
| Protected default constructor.
|
|
| AnyCameraT (const AnyCameraT< T > &anyCamera)=default |
| Protected copy constructor.
|
|
| AnyCameraT (AnyCameraT< T > &&)=delete |
| Disabled move constructor.
|
|
AnyCameraT & | operator= (const AnyCameraT &)=delete |
| Disabled assign operator.
|
|
AnyCameraT & | operator= (AnyCameraT &&)=delete |
| Disabled move operator.
|
|
This class implements a specialized AnyCamera object wrapping the actual camera model.
The class is a helper class to simplify the implementation of specialized AnyCamera objects.
- Template Parameters
-
T | The data type of a scalar, 'float' or 'double' |
TCameraWrapper | The data type of the class actually wrapping the camera object |