libCalib
C++ library documentation
libCalib::CameraModelThinPrism Class Reference

#include <CameraModelThinPrism.h>

+ Inheritance diagram for libCalib::CameraModelThinPrism:

Public Types

enum  ParameterIdx {
  fIdx = 0 , arIdx , cxIdx , cyIdx ,
  k1Idx , k2Idx , k3Idx , k4Idx ,
  p1Idx , p2Idx , sx1Idx , sy1Idx
}
 

Public Member Functions

ParameterReference f ()
 
ParameterReference ar ()
 
ParameterReference cx ()
 
ParameterReference cy ()
 
ParameterReference k1 ()
 
ParameterReference k2 ()
 
ParameterReference k3 ()
 
ParameterReference k4 ()
 
ParameterReference p1 ()
 
ParameterReference p2 ()
 
ParameterReference sx1 ()
 
ParameterReference sy1 ()
 
template<class Archive >
void serialize (Archive &ar)
 
- Public Member Functions inherited from libCalib::CameraModelCRT< CameraModelThinPrism >
std::unique_ptr< ceres::CostFunction > newCostFunction (const Point2 &imagePoint) const override
 
double getVal (const std::string &name) const override
 
double getVal (const int idx) const override
 
double * getValsPtr () override
 
std::vector< double > getVals () const override
 
void setVals (const std::vector< double > &vals) override
 
bool setVal (const std::string name, const double val) override
 
bool setVal (const int idx, const double val) override
 
bool setState (const std::string name, const ParameterState state) override
 
ParameterState getState (const std::string name) override
 
std::vector< int > getConstantIds () const override
 
int getNParams () const override
 
const std::string getName () const override
 
std::vector< ParameterNamegetParameterNames () const override
 
bool projectPoint (const double X, const double Y, const double Z, double &u, double &v) const override
 
bool unprojectPoint (const double &u, const double &v, double &X, double &Y, double &Z) const override
 
virtual void getUndistortionMaps (Image< float > &mapU, Image< float > &mapV, Matrix< double, 3, 3 > &K) const override
 
virtual void getUnprojectionMaps (Image< float > &mapX, Image< float > &mapY) const override
 
std::string toString () const override
 
std::unique_ptr< CameraModelBaseclone () const override
 
virtual void initialize (const double f, const double ar, const double cx, const double cy, const double k1) override
 
virtual std::unique_ptr< ceres::CostFunction > regularizationFunction (const int nResiduals) const override
 
void serialize (Archive &ar)
 
 CameraModelBase (const ImageSize imageSize)
 
 CameraModelBase ()
 
- Public Member Functions inherited from libCalib::CameraModelBase
 CameraModelBase (const ImageSize imageSize)
 
template<class Archive >
void serialize (Archive &ar)
 

Static Public Member Functions

static const std::string name ()
 
static const std::array< ParameterName, nParameters > parameterNames ()
 
template<typename T >
static bool distort (const T &u, const T &v, T &ud, T &vd, const T *params)
 
template<typename T >
static bool project (const T &X, const T &Y, const T &Z, T &u, T &v, const T *params)
 
template<typename T >
static bool unproject (const T &u, const T &v, T &X, T &Y, T &Z, const T *params)
 

Public Attributes

Parameters< nParameters > parameters
 
- Public Attributes inherited from libCalib::CameraModelBase
ImageSize imageSize
 

Static Public Attributes

static const int nParameters {12}
 

Detailed Description

Thin Prism Camera Model

J Weng et al. "Camera Calibration with Distortion Models and Accuracy Evaluation", TPAMI, 1992.

Models fish-eye and thin prism distortion.

Member Data Documentation

◆ parameters

Parameters<nParameters> libCalib::CameraModelThinPrism::parameters
Initial value:
= Parameters<nParameters>(
parameterNames(), {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0})