File distortion_type.hpp

Currently supported camera distortion types

  • Equidistant: Equidistant model with x4 parameters [k2, k3, k4, k5] This distortion type is equivalent to the Kannala-Brandt type up to ninth-order polynomial with k1 = 1. For more information please check the following reference: J. Kannala and S. S. Brandt, “A generic camera model and calibration method for conventional, wide-angle, and fish-eye lenses,” in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no. 8, pp. 1335-1340, Aug. 2006

  • RadialTangential: Radial tangential model with x4 parameters [k1, k2, p1, p2]. (k1, k2) are the radial distortion parameters, while (p1, p2) are the tangential distortion parameters This distortion type is also known as the Plumb Bob model or Brown-Conrady model. For more information please check the following reference: D. C. Brown. “Lens Distortion for Close-Range Photogrammetry”, Photometric Engineering, pages 855-866, Vol. 37, No. 8, 1971

  • NoDistortion: Zero distortion, ideal camera lens

  • RadialTangential8: Radial tangential model with x8 parameters [k1, k2, k3, k4, k5, k6, p1, p2]. (k1..k6) are the radial distortion parameters, while (p1, p2) are the tangential distortion parameters. Similar to the RadialTangential model but with a higher order polynomial for approximating the radial distortion

  • RadialSpline3: Radial model with 6 parameters defining a B-spline with 4 equidistant knots at theta = [0 pi/6 pi/3 pi/2]

Note

The order of the distortion parameters in the configuration files is (k1, k2, p1, p2, k3, k4, k5, k6)

Helper functions for slamcore::DistortionType

template<class Archive>
static inline std::string save_minimal(const Archive&, const DistortionType &obj)
template<class Archive>
static inline void load_minimal(const Archive&, DistortionType &obj, const std::string &value)
static inline std::ostream &operator<<(std::ostream &os, const DistortionType &obj)

Enums

enum class DistortionType : uint16_t

Currently supported camera distortion types

  • Equidistant: Equidistant model with x4 parameters [k2, k3, k4, k5] This distortion type is equivalent to the Kannala-Brandt type up to ninth-order polynomial with k1 = 1. For more information please check the following reference: J. Kannala and S. S. Brandt, “A generic camera model and calibration method for conventional, wide-angle, and fish-eye lenses,” in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no. 8, pp. 1335-1340, Aug. 2006

  • RadialTangential: Radial tangential model with x4 parameters [k1, k2, p1, p2]. (k1, k2) are the radial distortion parameters, while (p1, p2) are the tangential distortion parameters This distortion type is also known as the Plumb Bob model or Brown-Conrady model. For more information please check the following reference: D. C. Brown. “Lens Distortion for Close-Range Photogrammetry”, Photometric Engineering, pages 855-866, Vol. 37, No. 8, 1971

  • NoDistortion: Zero distortion, ideal camera lens

  • RadialTangential8: Radial tangential model with x8 parameters [k1, k2, k3, k4, k5, k6, p1, p2]. (k1..k6) are the radial distortion parameters, while (p1, p2) are the tangential distortion parameters. Similar to the RadialTangential model but with a higher order polynomial for approximating the radial distortion

  • RadialSpline3: Radial model with 6 parameters defining a B-spline with 4 equidistant knots at theta = [0 pi/6 pi/3 pi/2]

Note

The order of the distortion parameters in the configuration files is (k1, k2, p1, p2, k3, k4, k5, k6)

Values:

enumerator Equidistant
enumerator RadialTangential
enumerator NoDistortion
enumerator RadialTangential8
enumerator RadialSpline3
enumerator Count
namespace slamcore

Helper functions for slamcore::DistortionType

template<class Archive>
static inline std::string save_minimal(const Archive&, const DistortionType &obj)
template<class Archive>
static inline void load_minimal(const Archive&, DistortionType &obj, const std::string &value)
static inline std::ostream &operator<<(std::ostream &os, const DistortionType &obj)

Helper conversion methods

slamcore::ImageFormat \(\leftrightarrow\) BytesPerChannel

Get information about the client library

Enums

enum class DistortionType : uint16_t

Currently supported camera distortion types

  • Equidistant: Equidistant model with x4 parameters [k2, k3, k4, k5] This distortion type is equivalent to the Kannala-Brandt type up to ninth-order polynomial with k1 = 1. For more information please check the following reference: J. Kannala and S. S. Brandt, “A generic camera model and calibration method for conventional, wide-angle, and fish-eye lenses,” in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no. 8, pp. 1335-1340, Aug. 2006

  • RadialTangential: Radial tangential model with x4 parameters [k1, k2, p1, p2]. (k1, k2) are the radial distortion parameters, while (p1, p2) are the tangential distortion parameters This distortion type is also known as the Plumb Bob model or Brown-Conrady model. For more information please check the following reference: D. C. Brown. “Lens Distortion for Close-Range Photogrammetry”, Photometric Engineering, pages 855-866, Vol. 37, No. 8, 1971

  • NoDistortion: Zero distortion, ideal camera lens

  • RadialTangential8: Radial tangential model with x8 parameters [k1, k2, k3, k4, k5, k6, p1, p2]. (k1..k6) are the radial distortion parameters, while (p1, p2) are the tangential distortion parameters. Similar to the RadialTangential model but with a higher order polynomial for approximating the radial distortion

  • RadialSpline3: Radial model with 6 parameters defining a B-spline with 4 equidistant knots at theta = [0 pi/6 pi/3 pi/2]

Note

The order of the distortion parameters in the configuration files is (k1, k2, p1, p2, k3, k4, k5, k6)

Values:

enumerator Equidistant
enumerator RadialTangential
enumerator NoDistortion
enumerator RadialTangential8
enumerator RadialSpline3
enumerator Count