Skip to content

Class libCalibGeom::CameraModelOpenCVFisheye

Fisheye camera model with parameters exactly corresponding to OpenCV's and Buguet's fisheye model. Implements Brandt/Kannala's fisheye model with equidistance projection.

Should usually be initialized using initializeCameraParametersFisheye().

J. Kannala, and S. Brandt, A Generic Camera Model and Calibration Method for Conventional, Wide-Angle, and Fish-Eye Lenses, PAMI 2006

Inherits from: public libCalibGeom::CameraModelCRT< CameraModelOpenCVFisheye >

Constructors and destructors

CameraModelOpenCVFisheye()

CameraModelOpenCVFisheye()

Returns:

void

CameraModelOpenCVFisheye()

CameraModelOpenCVFisheye(ImageSize imageSize,ImageRegion validRegion = ImageRegion())

Returns:

void

Public member functions

project()

boolproject(const double X, const double Y, const double Z, double &u, double &v) const

Returns:

bool

unproject()

boolunproject(const double u, const double v, double &X, double &Y, double &Z) const

Returns:

bool

initialize()

boolinitialize(const std::vector< std::vector< Point3 >> &worldPoints, const std::vector< std::vector< Point2 >> &imagePoints, std::vector< Rotation > &Rc, std::vector< Translation > &Tc, const InitializationMethod method) override

Initializes the model from calibration observations.

Returns:

bool

defaultInitializationMethod()

InitializationMethoddefaultInitializationMethod() const override

Returns the default initialization method for this camera model.

Returns:

InitializationMethod

Public data members

parameters

CameraParametersparameters

No documentation provided.

Public Types

ParameterId

ParameterId

Values:

f = = 0
ar
cx
cy
k1
k2
k3
k4
alpha

Public Static Attributes

nParameters

constexpr intnParameters

No documentation provided.

Public Static Functions

name()

const std::stringname()

Returns:

const std::string

parameterNames()

const std::array< ParameterSpec, nParameters > &parameterNames()

Returns:

const std::array< ParameterSpec, nParameters > &

distort()

booldistort(const T & x,const T & y,T & xd,T & yd,const T * params)

Returns:

bool

project()

boolproject(const T & X,const T & Y,const T & Z,T & c,T & r,const T * params)

Returns:

bool

backprojectSymmetric()

voidbackprojectSymmetric(const T & p_u_x,const T & p_u_y,double & theta,double & phi,const T * params)

Returns:

void

unproject()

boolunproject(const T & u,const T & v,T & X,T & Y,T & Z,const T * params)

Returns:

bool