Calibration Library 1.0.0
A C++ library for camera calibration and vision-related geometric transformations
Loading...
Searching...
No Matches
homography.h
Go to the documentation of this file.
1
3#pragma once
4
5#include <Eigen/Core>
6#include <Eigen/Dense>
7#include <optional>
8#include <vector>
9
10#include "calib/estimation/common/ransac.h" // RansacOptions
11#include "calib/estimation/linear/planarpose.h" // PlanarView
12
13namespace calib {
14
15struct HomographyResult final {
16 bool success{false};
17 Eigen::Matrix3d hmtx = Eigen::Matrix3d::Identity();
18 std::vector<int> inliers; // indices of inlier correspondences
19 double symmetric_rms_px{0.0}; // symmetric transfer RMS in pixels
20};
21
22auto estimate_homography(const PlanarView& data,
23 std::optional<RansacOptions> ransac_opts = std::nullopt)
24 -> HomographyResult;
25
26static_assert(serializable_aggregate<HomographyResult>);
27
28} // namespace calib
Linear multi-camera extrinsics initialisation (DLT)
auto estimate_homography(const PlanarView &data, std::optional< RansacOptions > ransac_opts=std::nullopt) -> HomographyResult
std::vector< PlanarObservation > PlanarView
Definition planarpose.h:26
std::vector< int > inliers
Definition homography.h:18
Eigen::Matrix3d hmtx
Definition homography.h:17