Calibration Library 1.0.0
A C++ library for camera calibration and vision-related geometric transformations
Loading...
Searching...
No Matches
extrinsics.h
Go to the documentation of this file.
1#pragma once
2
3// std
4#include <string>
5#include <unordered_map>
6#include <vector>
7
11
12namespace calib::pipeline {
13
15using calib::to_json;
16
17struct StereoViewSelection final {
18 std::string reference_image;
19 std::string target_image;
20};
21
22struct StereoPairConfig final {
23 std::string pair_id;
24 std::string reference_sensor;
25 std::string target_sensor;
26 std::vector<StereoViewSelection> views;
28};
29
31 std::vector<StereoPairConfig> pairs;
32};
33
35 std::string reference_image;
36 std::string target_image;
37 std::size_t reference_points = 0;
38 std::size_t target_points = 0;
39 std::string status;
40};
41
50
52 public:
53 [[nodiscard]] auto calibrate(const StereoPairConfig& cfg,
54 const PlanarDetections& reference_detections,
55 const PlanarDetections& target_detections,
56 const IntrinsicCalibrationOutputs& reference_intrinsics,
57 const IntrinsicCalibrationOutputs& target_intrinsics) const
59};
60
61// ---- Multicam generalization ----
62
64 // Map sensor_id -> image filename for this view
65 std::unordered_map<std::string, std::string> images;
66};
67
69 std::string rig_id;
70 std::vector<std::string> sensors; // order defines camera index mapping
71 std::vector<MultiCameraViewSelection> views;
73};
74
76 bool success = false;
77 std::size_t requested_views = 0;
78 std::size_t used_views = 0;
79 std::vector<std::string> sensors; // same order as used in estimation
82};
83
85 public:
86 [[nodiscard]] auto calibrate(
87 const MultiCameraRigConfig& cfg,
88 const std::unordered_map<std::string, PlanarDetections>& detections_by_sensor,
89 const std::unordered_map<std::string, IntrinsicCalibrationOutputs>& intrinsics_by_sensor)
91};
92
93} // namespace calib::pipeline
auto calibrate(const MultiCameraRigConfig &cfg, const std::unordered_map< std::string, PlanarDetections > &detections_by_sensor, const std::unordered_map< std::string, IntrinsicCalibrationOutputs > &intrinsics_by_sensor) const -> MultiCameraCalibrationRunResult
auto calibrate(const StereoPairConfig &cfg, const PlanarDetections &reference_detections, const PlanarDetections &target_detections, const IntrinsicCalibrationOutputs &reference_intrinsics, const IntrinsicCalibrationOutputs &target_intrinsics) const -> StereoCalibrationRunResult
void from_json(const nlohmann::json &j, T &value)
Definition json.h:89
void to_json(nlohmann::json &j, const T &value)
Definition json.h:49
ExtrinsicOptimizationResult< PinholeCamera< BrownConradyd > > optimization
Definition extrinsics.h:81
std::vector< std::string > sensors
Definition extrinsics.h:70
std::vector< MultiCameraViewSelection > views
Definition extrinsics.h:71
std::unordered_map< std::string, std::string > images
Definition extrinsics.h:65
std::vector< StereoPairConfig > pairs
Definition extrinsics.h:31
std::vector< StereoCalibrationViewSummary > view_summaries
Definition extrinsics.h:46
ExtrinsicOptimizationResult< PinholeCamera< BrownConradyd > > optimization
Definition extrinsics.h:48
std::vector< StereoViewSelection > views
Definition extrinsics.h:26