Go to the documentation of this file.
53 double k1_ = 0.0f, k2_ = 0.0f;
54 double k3_ = 0.0f, k4_ = 0.0f;
58 enum { dimension = 9 };
69 const double v0,
const double k1,
const double k2,
70 const double k3,
const double k4,
double tol = 1
e-5)
96 inline double k1()
const {
return k1_; }
99 inline double k2()
const {
return k2_; }
102 inline double k3()
const {
return k3_; }
105 inline double k4()
const {
return k4_; }
108 Vector4
k()
const {
return Vector4(k1_, k2_, k3_, k4_); }
111 Vector9 vector()
const;
114 static double Scaling(
double r);
125 OptionalJacobian<2, 2> Dp = {})
const;
135 Point2 calibrate(
const Point2&
p, OptionalJacobian<2, 9> Dcal = {},
136 OptionalJacobian<2, 2> Dp = {})
const;
143 GTSAM_EXPORT
friend std::ostream&
operator<<(std::ostream&
os,
144 const Cal3Fisheye&
cal);
147 void print(
const std::string&
s =
"")
const override;
150 bool equals(
const Cal3Fisheye&
K,
double tol = 10
e-9)
const;
157 size_t dim()
const override {
return Dim(); }
160 inline static size_t Dim() {
return dimension; }
169 return T2.vector() - vector();
177 virtual std::shared_ptr<Cal3Fisheye>
clone()
const {
178 return std::shared_ptr<Cal3Fisheye>(
new Cal3Fisheye(*
this));
187 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION
189 friend class boost::serialization::access;
190 template <
class Archive>
191 void serialize(Archive& ar,
const unsigned int ) {
192 ar& boost::serialization::make_nvp(
193 "Cal3Fisheye", boost::serialization::base_object<Cal3>(*
this));
194 ar& BOOST_SERIALIZATION_NVP(k1_);
195 ar& BOOST_SERIALIZATION_NVP(k2_);
196 ar& BOOST_SERIALIZATION_NVP(k3_);
197 ar& BOOST_SERIALIZATION_NVP(k4_);
size_t dim() const override
Return dimensions of calibration manifold object.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
static const double d[K][N]
std::ostream & operator<<(std::ostream &os, const Dih6 &m)
Common code for all Calibration models.
UniformScaling< float > Scaling(float s)
double k1() const
First distortion coefficient.
Both ManifoldTraits and Testable.
ofstream os("timeSchurFactors.csv")
Vector4 k() const
return distortion parameter vector
double k4() const
Second tangential distortion coefficient.
void print(const Matrix &A, const string &s, ostream &stream)
Cal3Fisheye retract(const Vector &d) const
Given delta vector, update calibration.
Cal3Fisheye(const Vector9 &v)
Common base class for all calibration models.
double k2() const
Second distortion coefficient.
Calibration of a fisheye camera.
double k3() const
First tangential distortion coefficient.
virtual std::shared_ptr< Cal3Fisheye > clone() const
static const Pose3 T2(Rot3::Rodrigues(0.3, 0.2, 0.1), P2)
static size_t Dim()
Return dimensions of calibration manifold object.
Point2_ uncalibrate(const Expression< CALIBRATION > &K, const Point2_ &xy_hat)
Cal3Fisheye(const double fx, const double fy, const double s, const double u0, const double v0, const double k1, const double k2, const double k3, const double k4, double tol=1e-5)
Array< int, Dynamic, 1 > v
Vector localCoordinates(const Cal3Fisheye &T2) const
Given a different calibration, calculate update to obtain it.
std::shared_ptr< Cal3 > shared_ptr
gtsam
Author(s):
autogenerated on Sat Sep 28 2024 03:00:25