frame_helper
Calibration.h
Go to the documentation of this file.
1 #ifndef __FRAME_HELPER_CALIBRATION_H__
2 #define __FRAME_HELPER_CALIBRATION_H__
3 
4 #include <string>
5 #include <Eigen/Geometry>
6 #include <base/Eigen.hpp>
7 #include <base/samples/Frame.hpp>
8 #include <base/Float.hpp>
9 
10 namespace frame_helper
11 {
19  {
21 
22  CameraCalibration( double fx, double fy, double cx, double cy,
23  double d0, double d1, double d2, double d3,
24  int width = -1, int height = -1 );
25 
28  double fx, fy;
31  double cx, cy;
34  double d0, d1, d2, d3;
37  int width, height;
42  double ex, ey;
43 
47  bool fisheye;
48 
52  Eigen::Matrix3d getCameraMatrix() const;
53 
57  Eigen::Matrix2d getPixelCovariance() const;
58 
62  bool isValid() const;
63 
74  void rescale( int width, int height );
75 
83  static CameraCalibration fromFrame( const base::samples::frame::Frame& frame );
84 
91  void toFrame( base::samples::frame::Frame& frame ) const;
92  };
93 
98  {
99  double tx, ty, tz;
100  double rx, ry, rz;
101 
103  ExtrinsicCalibration( double tx, double ty, double tz, double rx, double ry, double rz );
104 
108  bool isValid() const;
109 
114  Eigen::Affine3d getTransform() const;
115  };
116 
121  {
124 
126  StereoCalibration( const CameraCalibration& left, const CameraCalibration& right, const ExtrinsicCalibration& extrinsic );
127 
131  bool isValid() const;
132 
138  static StereoCalibration fromMatlabFile( const std::string& file );
139 
144  static StereoCalibration fromMatlabFile( const std::string& file, int width, int height );
145 
146  };
147 
148 }
149 
150 #endif
static CameraCalibration fromFrame(const base::samples::frame::Frame &frame)
create a calibration struct based on the information embedded in the frame
Definition: Calibration.cpp:71
double d0
Definition: Calibration.h:34
double ey
Definition: Calibration.h:42
ExtrinsicCalibration extrinsic
Definition: Calibration.h:123
double d1
Definition: Calibration.h:34
Definition: Calibration.h:120
double d3
Definition: Calibration.h:34
Eigen::Matrix2d getPixelCovariance() const
Definition: Calibration.cpp:37
Definition: Calibration.h:18
double rz
Definition: Calibration.h:100
bool fisheye
Definition: Calibration.h:47
double fx
Definition: Calibration.h:28
int height
Definition: Calibration.h:37
Definition: Calibration.h:97
double ex
Definition: Calibration.h:42
double cx
Definition: Calibration.h:31
Eigen::Matrix3d getCameraMatrix() const
Definition: Calibration.cpp:28
void rescale(int width, int height)
rescale the calibration to a different image size
Definition: Calibration.cpp:45
int width
Definition: Calibration.h:37
double cy
Definition: Calibration.h:31
double fy
Definition: Calibration.h:28
CameraCalibration()
Definition: Calibration.cpp:12
Definition: Calibration.h:10
bool isValid() const
Definition: Calibration.cpp:56
double d2
Definition: Calibration.h:34
void toFrame(base::samples::frame::Frame &frame) const
write the calibration into the attributes of the frame
Definition: Calibration.cpp:87
CameraCalibration camRight
Definition: Calibration.h:122
double tz
Definition: Calibration.h:99