iCub-main
Loading...
Searching...
No Matches
FisheyeCalibrationEngine.h
Go to the documentation of this file.
1#ifndef ICUB_STEREOCALIB_FISHEYE_CALIBRATION_ENGINE_H
2#define ICUB_STEREOCALIB_FISHEYE_CALIBRATION_ENGINE_H
3
4#include <string>
5#include <vector>
6
7#include "CalibrationTypes.h"
8
9namespace stereo_calib
10{
11
13{
14public:
15 bool calibrate(
16 const std::vector<StereoObservation>& observations,
17 const FisheyeCalibrationOptions& options,
18 CalibrationResult& result,
19 std::string& errorMessage) const;
20
21private:
22 bool validateObservations(
23 const std::vector<StereoObservation>& observations,
24 const cv::Size& expectedImageSize,
25 std::string& errorMessage) const;
26
27 bool calibrateMonocular(
28 const std::vector<StereoObservation>& observations,
29 CameraSide cameraSide,
30 const FisheyeCalibrationOptions& options,
32 std::string& errorMessage) const;
33
34 bool calibrateStereo(
35 const std::vector<StereoObservation>& observations,
36 const FisheyeCalibrationOptions& options,
37 const CameraCalibrationResult& leftCamera,
38 const CameraCalibrationResult& rightCamera,
40 std::string& errorMessage) const;
41
42 bool computeRectification(
43 const FisheyeCalibrationOptions& options,
44 const CameraCalibrationResult& leftCamera,
45 const CameraCalibrationResult& rightCamera,
46 const StereoCalibrationResult& stereo,
47 RectificationResult& result,
48 std::string& errorMessage) const;
49
50 bool evaluateRectification(
51 const std::vector<StereoObservation>& observations,
52 const CameraCalibrationResult& leftCamera,
53 const CameraCalibrationResult& rightCamera,
54 const StereoCalibrationResult& stereo,
55 const RectificationResult& rectification,
57 std::string& errorMessage) const;
58
59 bool extractCalibrationPoints(
60 const std::vector<StereoObservation>& observations,
61 std::vector<std::vector<cv::Point3f>>& objectPoints,
62 std::vector<std::vector<cv::Point2f>>& leftImagePoints,
63 std::vector<std::vector<cv::Point2f>>& rightImagePoints,
64 std::string& errorMessage) const;
65
66};
67
68} // namespace stereo_calib
69
70#endif
bool calibrate(const std::vector< StereoObservation > &observations, const FisheyeCalibrationOptions &options, CalibrationResult &result, std::string &errorMessage) const