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
3#pragma once
4
5#include <Eigen/Geometry>
6#include <vector>
7
8#include "calib/estimation/linear/extrinsics.h" // MulticamPlanarView
11
12namespace calib {
13
14template <camera_model CameraT>
16 OptimResult core; // Core optimization result
17 std::vector<CameraT> cameras; // Optimized camera matrices
18 std::vector<Eigen::Isometry3d> c_se3_r; // reference->camera
19 std::vector<Eigen::Isometry3d> r_se3_t; // target->reference
20};
21
22struct ExtrinsicOptions final {
23 OptimOptions core;
24 bool optimize_intrinsics = true;
25 bool optimize_skew = false;
26 bool optimize_extrinsics = true;
27};
28
29template <camera_model CameraT>
30auto optimize_extrinsics(const std::vector<MulticamPlanarView>& views,
31 const std::vector<CameraT>& init_cameras,
32 const std::vector<Eigen::Isometry3d>& init_c_se3_r,
33 const std::vector<Eigen::Isometry3d>& init_r_se3_t,
34 const ExtrinsicOptions& opts = {}) -> ExtrinsicOptimizationResult<CameraT>;
35
36} // namespace calib
Linear multi-camera extrinsics initialisation (DLT)
auto optimize_extrinsics(const std::vector< MulticamPlanarView > &views, const std::vector< CameraT > &init_cameras, const std::vector< Eigen::Isometry3d > &init_c_se3_r, const std::vector< Eigen::Isometry3d > &init_r_se3_t, const ExtrinsicOptions &opts={}) -> ExtrinsicOptimizationResult< CameraT >
std::vector< Eigen::Isometry3d > c_se3_r
Definition extrinsics.h:18
std::vector< Eigen::Isometry3d > r_se3_t
Definition extrinsics.h:19
std::vector< CameraT > cameras
Definition extrinsics.h:17
bool optimize_extrinsics
Solve for camera and target extrinsics.
Definition extrinsics.h:26
bool optimize_skew
Solve for skew parameter.
Definition extrinsics.h:25
bool optimize_intrinsics
Solve for camera intrinsics.
Definition extrinsics.h:24