gtsam
Loading...
Searching...
No Matches
gtsam::Cal3DS2 Class Reference

Detailed Description

Calibration of a camera with radial distortion that also supports Lie-group behaviors for optimization.

See also
Cal3DS2_Base
Inheritance diagram for gtsam::Cal3DS2:

Standard Constructors

 Cal3DS2 ()=default
 Default Constructor with only unit focal length.
 Cal3DS2 (double fx, double fy, double s, double u0, double v0, double k1, double k2, double p1=0.0, double p2=0.0, double tol=1e-5)

Advanced Constructors

 Cal3DS2 (const Vector9 &v)

Testable

void print (const std::string &s="") const override
 print with optional string
bool equals (const Cal3DS2 &K, double tol=10e-9) const
 assert equality up to a tolerance
GTSAM_EXPORT friend std::ostream & operator<< (std::ostream &os, const Cal3DS2 &cal)
 Output stream operator.

Manifold

Cal3DS2 retract (const Vector &d) const
 Given delta vector, update calibration.
Vector localCoordinates (const Cal3DS2 &T2) const
 Given a different calibration, calculate update to obtain it.

Clone

std::shared_ptr< Base > clone () const override

Public Types

using shared_ptr = std::shared_ptr<Cal3DS2>
 < shared pointer to stereo calibration object
Public Types inherited from gtsam::Cal3DS2_Base
using shared_ptr = std::shared_ptr<Cal3DS2_Base>
Public Types inherited from gtsam::Cal3
using shared_ptr = std::shared_ptr<Cal3>
 < shared pointer to calibration object

Additional Inherited Members

 Cal3DS2_Base ()=default
 Default Constructor with only unit focal length.
 Cal3DS2_Base (double fx, double fy, double s, double u0, double v0, double k1, double k2, double p1=0.0, double p2=0.0, double tol=1e-5)
 Cal3DS2_Base (const Vector9 &v)
void print (const std::string &s="") const override
 print with optional string
bool equals (const Cal3DS2_Base &K, double tol=1e-8) const
 assert equality up to a tolerance
double k1 () const
 First distortion coefficient.
double k2 () const
 Second distortion coefficient.
double p1 () const
 First tangential distortion coefficient.
double p2 () const
 Second tangential distortion coefficient.
Vector4 k () const
 return distortion parameter vector
Vector9 vector () const
 Return all parameters as a vector.
Point2 uncalibrate (const Point2 &p, OptionalJacobian< 2, 9 > Dcal={}, OptionalJacobian< 2, 2 > Dp={}) const
 convert intrinsic coordinates xy to (distorted) image coordinates uv
Point2 calibrate (const Point2 &p, OptionalJacobian< 2, 9 > Dcal={}, OptionalJacobian< 2, 2 > Dp={}) const
 Convert (distorted) image coordinates uv to intrinsic coordinates xy.
Matrix2 D2d_intrinsic (const Point2 &p) const
 Derivative of uncalibrate wrpt intrinsic coordinates.
Matrix29 D2d_calibration (const Point2 &p) const
 Derivative of uncalibrate wrpt the calibration parameters.
size_t dim () const
 return DOF, dimensionality of tangent space
 Cal3 ()=default
 Create a default calibration that leaves coordinates unchanged.
 Cal3 (double fx, double fy, double s, double u0, double v0)
 constructor from doubles
 Cal3 (const Vector5 &d)
 constructor from vector
 Cal3 (double fov, int w, int h)
 Easy constructor, takes fov in degrees, asssumes zero skew, unit aspect.
virtual ~Cal3 ()
 Virtual destructor.
 Cal3 (const std::string &path)
 Load calibration parameters from calibration_info.txt file located in path directory.
bool equals (const Cal3 &K, double tol=10e-9) const
 Check if equal up to specified tolerance.
double fx () const
 focal length x
double fy () const
 focal length y
double aspectRatio () const
 aspect ratio
double skew () const
 skew
double px () const
 image center in x
double py () const
 image center in y
Point2 principalPoint () const
 return the principal point
Vector5 vector () const
 vectorized form (column-wise)
virtual Matrix3 K () const
 return calibration matrix K
Matrix3 inverse () const
 Return inverted calibration matrix inv(K).
static size_t Dim ()
 return DOF, dimensionality of tangent space
Static Public Attributes inherited from gtsam::Cal3DS2_Base
static constexpr auto dimension = 9
 shared pointer to stereo calibration object
Protected Attributes inherited from gtsam::Cal3DS2_Base
double k1_ = 0.0f
double k2_ = 0.0f
 radial 2nd-order and 4th-order
double p1_ = 0.0f
double p2_ = 0.0f
 tangential distortion
double tol_ = 1e-5
 tolerance value when calibrating
Protected Attributes inherited from gtsam::Cal3
double fx_ = 1.0f
double fy_ = 1.0f
 focal length
double s_ = 0.0f
 skew
double u0_ = 0.0f
double v0_ = 0.0f
 principal point

Member Function Documentation

◆ clone()

std::shared_ptr< Base > gtsam::Cal3DS2::clone ( ) const
inlineoverridevirtual
Returns
a deep copy of this object

Reimplemented from gtsam::Cal3DS2_Base.

◆ print()

void gtsam::Cal3DS2::print ( const std::string & s = "") const
overridevirtual

print with optional string

Reimplemented from gtsam::Cal3.


The documentation for this class was generated from the following files:
  • /tmp/gtsam-4.3.0-doxygen.rsXPUS/source/gtsam/geometry/Cal3DS2.h
  • /tmp/gtsam-4.3.0-doxygen.rsXPUS/source/gtsam/geometry/Cal3DS2.cpp