Calibration Library 1.0.0
A C++ library for camera calibration and vision-related geometric transformations
Loading...
Searching...
No Matches
calib::camera_model Concept Reference

Concept defining the interface requirements for camera model implementations. More...

#include <cameramodel.h>

Concept definition

template<typename Cam>
concept calib::camera_model = requires(const Cam& cam, Eigen::Matrix<typename Cam::Scalar, 3, 1> p3,
Eigen::Matrix<typename Cam::Scalar, 2, 1> p2) {
typename Cam::Scalar;
{
cam.template project<typename Cam::Scalar>(p3)
} -> std::same_as<Eigen::Matrix<typename Cam::Scalar, 2, 1>>;
{
cam.template unproject<typename Cam::Scalar>(p2)
} -> std::same_as<Eigen::Matrix<typename Cam::Scalar, 2, 1>>;
{
cam.template apply_intrinsics<typename Cam::Scalar>(p2)
} -> std::same_as<Eigen::Matrix<typename Cam::Scalar, 2, 1>>;
{
cam.template remove_intrinsics<typename Cam::Scalar>(p2)
} -> std::same_as<Eigen::Matrix<typename Cam::Scalar, 2, 1>>;
}
Concept defining the interface requirements for camera model implementations.
Definition cameramodel.h:30
std::vector< Eigen::Isometry3d > cam

Detailed Description

Concept defining the interface requirements for camera model implementations.

A camera model must provide methods for projecting 3D points to 2D image coordinates and unprojecting 2D points to normalized camera coordinates. It must also support applying and removing intrinsic camera parameters.

Template Parameters
CamThe camera model type to be validated

Requirements:

  • Must define a Scalar type (typically float or double)
  • Must provide templated project() method: 3D point → 2D image coordinates
  • Must provide templated unproject() method: 2D image coordinates → 2D normalized coordinates
  • Must provide templated apply_intrinsics() method: normalized coordinates → image coordinates
  • Must provide templated remove_intrinsics() method: image coordinates → normalized coordinates
See also
CameraMatrix for basic pinhole camera implementation
distortion_model concept for distortion handling requirements

Definition at line 30 of file cameramodel.h.