Skip to content

Class libCalibGeom::CameraModelOpenCV

OpenCV's augmented Brown-Conrady camera model with all parameters available in OpenCV 4.x. Note that fx = f and fy = f*ar.

Brown, Duane C. (May 1966). "Decentering distortion of lenses" (PDF). Photogrammetric Engineering. 32 (3): 444–462. Conrady, A. E. (1919). "Decentred Lens-Systems". Monthly Notices of the Royal Astronomical Society. 79 (5): 384.

Inherits from: public libCalibGeom::CameraModelCRT< CameraModelOpenCV >

Constructors and destructors

CameraModelOpenCV()

CameraModelOpenCV()

Returns:

void

CameraModelOpenCV()

CameraModelOpenCV(const ImageSize imageSize,const 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

checkValidity()

boolcheckValidity(const double X,const double Y,const double Z)

Returns:

bool

Public data members

parameters

CameraParametersparameters

No documentation provided.

Public Types

ParameterId

ParameterId

Values:

f = = 0
ar
cx
cy
k1
k2
k3
k4
k5
k6
p1
p2
s1
s2
s3
s4
tauX
tauY

Public Static Attributes

nParameters

constexpr intnParameters

No documentation provided.

parameterSpecs

const std::array< ParameterSpec, nParameters >parameterSpecs

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 & u,T & v,const T * params)

Returns:

bool

unproject()

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

Returns:

bool