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

#include <CameraModelOCamCalib.h>

+ Inheritance diagram for libCalib::CameraModelOCamCalib:

Public Types

enum  ParameterIdx {
  a0Idx = 0 , a1Idx , a2Idx , a3Idx ,
  a4Idx , xcIdx , ycIdx , cIdx ,
  dIdx , eIdx
}
 

Public Member Functions

 CameraModelOCamCalib (const ImageSize imageSize)
 
 CameraModelOCamCalib (const CameraModelOCamCalib &other)
 
template<typename T >
bool project (const T &X, const T &Y, const T &Z, T &u, T &v, const T *params) const
 
template<typename T >
bool unproject (const T &u, const T &v, T &X, T &Y, T &Z, const T *params) const
 
void initialize (const double f, const double ar, const double cx, const double cy, const double k1) override
 
ParameterReference a0 ()
 
ParameterReference a1 ()
 
ParameterReference a2 ()
 
ParameterReference a3 ()
 
ParameterReference a4 ()
 
ParameterReference xc ()
 
ParameterReference yc ()
 
ParameterReference c ()
 
ParameterReference d ()
 
ParameterReference e ()
 
template<class Archive >
void serialize (Archive &ar)
 
- Public Member Functions inherited from libCalib::CameraModelCRT< CameraModelOCamCalib >
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 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 ()
 

Public Attributes

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

Static Public Attributes

static const int nParameters {10}
 

Detailed Description

NOTE: This Camera Model is currently experimental. Is is not fully implemented yet and as such not supported officially.

OCamCalib Camera Model

Scaramuzza, D. (2008). Omnidirectional Vision: from Calibration to Robot Motion Estimation, ETH Zurich, PhD Thesis no. 17635. February 22, 2008.

Member Function Documentation

◆ initialize()

void libCalib::CameraModelOCamCalib::initialize ( const double  f,
const double  ar,
const double  cx,
const double  cy,
const double  k1 
)
overridevirtual

Member Data Documentation

◆ parameters

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