iCub-main
Loading...
Searching...
No Matches
PinholeCalibrationEngine.h
Go to the documentation of this file.
1#ifndef ICUB_STEREOCALIB_PINHOLE_CALIBRATION_ENGINE_H
2#define ICUB_STEREOCALIB_PINHOLE_CALIBRATION_ENGINE_H
3
4#include <string>
5#include <vector>
6
7#include "CalibrationTypes.h"
8
9namespace stereo_calib
10{
12 {
13 public:
14 bool calibrate(
15 const std::vector<StereoObservation>& observations,
16 const PinholeCalibrationOptions& options,
17 CalibrationResult& result,
18 std::string& errorMessage) const;
19
20 private:
21 bool validateObservations(
22 const std::vector<StereoObservation>& observations,
23 const cv::Size& expectedImageSize,
24 std::string& errorMessage) const;
25
26 bool calibrateMonocular(
27 const std::vector<StereoObservation>& observations,
28 CameraSide cameraSide,
29 const PinholeCalibrationOptions& options,
31 std::string& errorMessage) const;
32
33 bool calibrateStereo(
34 const std::vector<StereoObservation>& observations,
35 const PinholeCalibrationOptions& options,
36 const CameraCalibrationResult& leftCamera,
37 const CameraCalibrationResult& rightCamera,
39 std::string& errorMessage) const;
40
41 bool extractCalibrationPoints(
42 const std::vector<StereoObservation>& observations,
43 std::vector<std::vector<cv::Point3f>>& objectPoints,
44 std::vector<std::vector<cv::Point2f>>& leftImagePoints,
45 std::vector<std::vector<cv::Point2f>>& rightImagePoints,
46 std::string& errorMessage) const;
47 };
48} // namespace stereo_calib
49
50#endif // ICUB_STEREOCALIB_PINHOLE_CALIBRATION_ENGINE_H
bool calibrate(const std::vector< StereoObservation > &observations, const PinholeCalibrationOptions &options, CalibrationResult &result, std::string &errorMessage) const