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. More...
|
|
| AnyCameraWrappingT (const ActualCamera &actualCamera) |
| Creates a new AnyCamera object wrapping the actual camera model. More...
|
|
AnyCameraType | anyCameraType () const override |
| Returns the type of this camera. More...
|
|
std::string | name () const override |
| Returns the name of this camera. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
unsigned int | width () const override |
| Returns the width of the camera image. More...
|
|
unsigned int | height () const override |
| Returns the height of the camera image. More...
|
|
VectorT2< T > | principalPoint () const override |
| Returns the coordinate of the principal point of the camera image in the pixel domain. More...
|
|
T | principalPointX () const override |
| Returns the x-value of the principal point of the camera image in the pixel domain. More...
|
|
T | principalPointY () const override |
| Returns the y-value of the principal point of the camera image in the pixel domain. More...
|
|
T | focalLengthX () const override |
| Returns the horizontal focal length parameter. More...
|
|
T | focalLengthY () const override |
| Returns the vertical focal length parameter. More...
|
|
T | inverseFocalLengthX () const override |
| Returns the inverse horizontal focal length parameter. More...
|
|
T | inverseFocalLengthY () const override |
| Returns the inverse vertical focal length parameter. More...
|
|
T | fovX () const override |
| Returns the field of view in x direction of the camera. More...
|
|
T | fovY () const override |
| Returns the field of view in x direction of the camera. More...
|
|
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. More...
|
|
VectorT2< T > | projectToImage (const VectorT3< T > &objectPoint) const override |
| Projects a 3D object point into the camera frame. More...
|
|
VectorT2< T > | projectToImage (const HomogenousMatrixT4< T > &world_T_camera, const VectorT3< T > &objectPoint) const override |
| Projects a 3D object point into the camera frame. More...
|
|
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. More...
|
|
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. More...
|
|
VectorT2< T > | projectToImageIF (const VectorT3< T > &objectPoint) const override |
| Projects a 3D object point into the camera frame. More...
|
|
VectorT2< T > | projectToImageIF (const HomogenousMatrixT4< T > &flippedCamera_T_world, const VectorT3< T > &objectPoint) const override |
| Projects a 3D object point into the camera frame. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
bool | isValid () const override |
| Returns whether this camera is valid. More...
|
|
virtual | ~AnyCameraT ()=default |
| Destructs the AnyCamera object. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
static T | fieldOfViewToFocalLength (const unsigned int width, const T fovX) |
| Converts field of view (and width) to the corresponding focal length. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
template<typename U = T> |
static SquareMatrixT3< U > | flipMatrix3 () |
| Returns the 3x3 transformation matrix flipping a transformation around the x-axis by 180 deg. More...
|
|
template<typename U = T> |
static HomogenousMatrixT4< U > | flipMatrix4 () |
| Returns the 4x4 transformation matrix flipping a transformation around the x-axis by 180 deg. More...
|
|
template<typename U = T> |
static QuaternionT< U > | flipQuaternion () |
| Returns the quaternion flipping a rotation around the x-axis by 180 deg. More...
|
|
template<typename U > |
static HomogenousMatrixT4< U > | flippedTransformationLeftSide (const HomogenousMatrixT4< U > &left_T_right) |
| Flips a transformation matrix around the x-axis by 180 degree. More...
|
|
template<typename U > |
static HomogenousMatrixT4< U > | flippedTransformationRightSide (const HomogenousMatrixT4< U > &left_T_right) |
| Flips a transformation matrix around the x-axis by 180 degree. More...
|
|
template<typename U > |
static HomogenousMatrixT4< U > | flippedTransformationLeftAndRightSide (const HomogenousMatrixT4< U > &left_T_right) |
| Flips a transformation matrix around the x-axis by 180 degree. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
template<typename U > |
static QuaternionT< U > | flippedTransformationLeftSide (const QuaternionT< U > &left_Q_right) |
| Flips a quaternion around the x-axis by 180 degree. More...
|
|
template<typename U > |
static QuaternionT< U > | flippedTransformationRightSide (const QuaternionT< U > &left_Q_right) |
| Flips a quaternion around the x-axis by 180 degree. More...
|
|
template<typename U > |
static QuaternionT< U > | flippedTransformationLeftAndRightSide (const QuaternionT< U > &left_Q_right) |
| Flips a quaternion around the x-axis by 180 degree. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
| AnyCameraT ()=default |
| Protected default constructor. More...
|
|
| AnyCameraT (const AnyCameraT< T > &anyCamera)=default |
| Protected copy constructor. More...
|
|
| AnyCameraT (AnyCameraT< T > &&)=delete |
| Disabled move constructor. More...
|
|
AnyCameraT & | operator= (const AnyCameraT &)=delete |
| Disabled assign operator. More...
|
|
AnyCameraT & | operator= (AnyCameraT &&)=delete |
| Disabled move operator. More...
|
|
template<typename T, typename TCameraWrapper>
class Ocean::AnyCameraWrappingT< T, TCameraWrapper >
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 |