37 enum { dimension = 6 };
45 K_(1, 1, 0, 0, 0), b_(1.0) {
50 K_(fx, fy, s, u0, v0), b_(b) {
54 Cal3_S2Stereo(
const Vector &d): K_(d(0), d(1), d(2), d(3), d(4)), b_(d(5)){}
58 K_(fov, w, h), b_(b) {
65 void print(
const std::string& s =
"")
const {
67 std::cout << s <<
"Baseline: " << b_ << std::endl;
72 if (fabs(b_ - other.b_) > tol)
return false;
73 return K_.
equals(other.K_,tol);
87 inline double fx()
const {
return K_.
fx();}
90 inline double fy()
const {
return K_.
fy();}
93 inline double skew()
const {
return K_.
skew();}
96 inline double px()
const {
return K_.
px();}
99 inline double py()
const {
return K_.
py();}
119 inline size_t dim()
const {
146 template<
class Archive>
147 void serialize(Archive & ar,
const unsigned int )
149 ar & BOOST_SERIALIZATION_NVP(K_);
150 ar & BOOST_SERIALIZATION_NVP(b_);
double py() const
image center in y
Definition: Cal3_S2.h:117
Cal3_S2Stereo()
default calibration leaves coordinates unchanged
Definition: Cal3_S2Stereo.h:44
Definition: Cal3_S2Stereo.h:29
Vector6 localCoordinates(const Cal3_S2Stereo &T2) const
Unretraction for the calibration.
Definition: Cal3_S2Stereo.h:134
const Cal3_S2 & calibration() const
return calibration, same for left and right
Definition: Cal3_S2Stereo.h:81
double px() const
image center in x
Definition: Cal3_S2Stereo.h:96
bool equals(const Cal3_S2 &K, double tol=10e-9) const
Check if equal up to specified tolerance.
Definition: Cal3_S2.cpp:67
The most common 5DOF 3D->2D calibration.
bool equals(const Cal3_S2Stereo &other, double tol=10e-9) const
Check if equal up to specified tolerance.
Definition: Cal3_S2Stereo.h:71
double px() const
image center in x
Definition: Cal3_S2.h:112
Point2 principalPoint() const
return the principal point
Definition: Cal3_S2.h:122
double fy() const
focal length x
Definition: Cal3_S2Stereo.h:90
Cal3_S2Stereo retract(const Vector &d) const
Given 6-dim tangent vector, create new calibration.
Definition: Cal3_S2Stereo.h:129
Matrix3 matrix() const
Definition: Cal3_S2.h:141
double fx() const
focal length x
Definition: Cal3_S2Stereo.h:87
Point2 principalPoint() const
return the principal point
Definition: Cal3_S2Stereo.h:102
friend class boost::serialization::access
Serialization function.
Definition: Cal3_S2Stereo.h:145
size_t dim() const
return DOF, dimensionality of tangent space
Definition: Cal3_S2Stereo.h:119
double fy() const
focal length y
Definition: Cal3_S2.h:97
boost::shared_ptr< Cal3_S2Stereo > shared_ptr
shared pointer to stereo calibration object
Definition: Cal3_S2Stereo.h:38
Both ManifoldTraits and Testable.
Definition: Manifold.h:120
Cal3_S2Stereo(double fov, int w, int h, double b)
easy constructor; field-of-view in degrees, assumes zero skew
Definition: Cal3_S2Stereo.h:57
static size_t Dim()
return DOF, dimensionality of tangent space
Definition: Cal3_S2Stereo.h:124
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
double skew() const
skew
Definition: Cal3_S2.h:107
void print(const std::string &s="Cal3_S2") const
print with optional string
Definition: Cal3_S2.cpp:62
Cal3_S2Stereo(const Vector &d)
constructor from vector
Definition: Cal3_S2Stereo.h:54
Vector6 vector() const
vectorized form (column-wise)
Definition: Cal3_S2Stereo.h:108
double skew() const
skew
Definition: Cal3_S2Stereo.h:93
double fx() const
focal length x
Definition: Cal3_S2.h:92
Vector5 vector() const
vectorized form (column-wise)
Definition: Cal3_S2.h:127
Matrix matrix() const
return calibration matrix K, same for left and right
Definition: Cal3_S2Stereo.h:84
Cal3_S2Stereo(double fx, double fy, double s, double u0, double v0, double b)
constructor from doubles
Definition: Cal3_S2Stereo.h:49
double py() const
image center in y
Definition: Cal3_S2Stereo.h:99
double baseline() const
return baseline
Definition: Cal3_S2Stereo.h:105
Global functions in a separate testing namespace.
Definition: chartTesting.h:28