Class intrinsics_t
Defined in File camera.hpp
Class Documentation
-
class intrinsics_t
Camera intrinsic-parameter model.
This class stores focal length, principal point, and skew, and provides projection utilities.
Public Functions
-
inline intrinsics_t()
Default constructor initializes an empty intrinsics model.
-
inline explicit intrinsics_t(const Eigen::Matrix3d &matrix_)
Constructs an intrinsics model from a given 3x3 matrix.
- Parameters:
matrix_ – Full camera calibration matrix in pixel units.
-
inline intrinsics_t(const double fx_, const double fy_, const double cx_, const double cy_)
Constructs an intrinsics model from an initializer list of parameters.
- Parameters:
fx_ – Focal length along the image x-axis.
fy_ – Focal length along the image y-axis.
cx_ – Principal-point x coordinate.
cy_ – Principal-point y coordinate.
-
inline bool empty() const
Checks if the intrinsics model is empty (i.e., not set).
- Returns:
truewhen no valid intrinsic parameters are stored.
-
inline intrinsics_t clone() const
Creates a copy of the current intrinsics model.
- Returns:
Copy of this intrinsics object.
-
inline const Eigen::Matrix3d &matrix() const
Accesses the underlying 3x3 matrix of the intrinsics model.
- Returns:
Reference to the internal 3x3 intrinsic calibration matrix.
-
inline double fx() const
Focal length in x
- Returns:
Horizontal focal length in pixels.
-
inline double fy() const
Focal length in y
- Returns:
Vertical focal length in pixels.
-
inline double cx() const
Principal point x
- Returns:
Principal-point x coordinate in pixels.
-
inline double cy() const
Principal point y
- Returns:
Principal-point y coordinate in pixels.
-
inline double skew() const
Skew factor
- Returns:
Pixel skew coefficient between x and y axes.
-
inline std::tuple<double, double, double, double, double> get_parameters() const
Get all parameters as a tuple (fx, fy, skew, cx, cy)
- Returns:
Tuple
(fx, fy, skew, cx, cy)extracted from the matrix.
-
inline array2D_t get_image_size() const
Get the image size image (approximate) from the intrinsics.
- Returns:
Approximate image size
{width, height}derived from(cx, cy).
-
inline bool in_image(const array2D_t &point_) const
Check if a 2D point is within the image bounds defined by the intrinsics.
- Parameters:
point_ – Pixel coordinate evaluated against image bounds.
- Returns:
truewhen the pixel lies inside[0,width) x [0,height).
-
inline std::tuple<bool, array2D_t> project(const array3D_t &pointWorld_, slam_mer::pose_t worldToCamera_ = slam_mer::pose_t::Identity()) const
Projects a 3D world point onto the image plane.
The input point is transformed to camera coordinates with
worldToCamera, then projected with the intrinsic parameters.- Parameters:
pointWorld_ – 3D point expressed in world coordinates.
worldToCamera_ – Pose transforming world coordinates into camera coordinates.
- Returns:
Tuple with validity flag and projected pixel coordinates.
-
inline std::tuple<bool, slam_mer::point2d_t> project(const slam_mer::point3d_t &pointWorld_, slam_mer::pose_t worldToCamera_ = slam_mer::pose_t::Identity()) const
Projects a 3D world point onto the image plane.
This overload accepts
point3d_tand returnspoint2d_t.- Parameters:
pointWorld_ – 3D point object expressed in world coordinates.
worldToCamera_ – Pose transforming world coordinates into camera coordinates.
- Returns:
Tuple with validity flag and projected 2D point.
-
inline void print(std::string prefix_ = "") const
Prints the camera intrinsic parameters.
- Parameters:
prefix_ – Prefix prepended to each printed output line.
Private Functions
-
inline void __check_not_empty() const
Throws if intrinsics have not been initialized.
-
inline intrinsics_t()