![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <two_view_geometry.h>
Classes | |
| struct | Options |
Public Types | |
| enum | ConfigurationType { UNDEFINED = 0 , DEGENERATE = 1 , CALIBRATED = 2 , UNCALIBRATED = 3 , PLANAR = 4 , PANORAMIC = 5 , PLANAR_OR_PANORAMIC = 6 , WATERMARK = 7 , MULTIPLE = 8 } |
Public Member Functions | |
| TwoViewGeometry () | |
| void | Invert () |
| void | Estimate (const Camera &camera1, const std::vector< Eigen::Vector2d > &points1, const Camera &camera2, const std::vector< Eigen::Vector2d > &points2, const FeatureMatches &matches, const Options &options) |
| void | EstimateMultiple (const Camera &camera1, const std::vector< Eigen::Vector2d > &points1, const Camera &camera2, const std::vector< Eigen::Vector2d > &points2, const FeatureMatches &matches, const Options &options) |
| bool | EstimateRelativePose (const Camera &camera1, const std::vector< Eigen::Vector2d > &points1, const Camera &camera2, const std::vector< Eigen::Vector2d > &points2) |
| void | EstimateCalibrated (const Camera &camera1, const std::vector< Eigen::Vector2d > &points1, const Camera &camera2, const std::vector< Eigen::Vector2d > &points2, const FeatureMatches &matches, const Options &options) |
| void | EstimateUncalibrated (const Camera &camera1, const std::vector< Eigen::Vector2d > &points1, const Camera &camera2, const std::vector< Eigen::Vector2d > &points2, const FeatureMatches &matches, const Options &options) |
Static Public Member Functions | |
| static bool | DetectWatermark (const Camera &camera1, const std::vector< Eigen::Vector2d > &points1, const Camera &camera2, const std::vector< Eigen::Vector2d > &points2, const size_t num_inliers, const std::vector< char > &inlier_mask, const Options &options) |
Public Attributes | |
| int | config |
| Eigen::Matrix3d | E |
| Eigen::Matrix3d | F |
| Eigen::Matrix3d | H |
| Eigen::Vector4d | qvec |
| Eigen::Vector3d | tvec |
| FeatureMatches | inlier_matches |
| double | tri_angle |
Definition at line 19 of file two_view_geometry.h.
| Enumerator | |
|---|---|
| UNDEFINED | |
| DEGENERATE | |
| CALIBRATED | |
| UNCALIBRATED | |
| PLANAR | |
| PANORAMIC | |
| PLANAR_OR_PANORAMIC | |
| WATERMARK | |
| MULTIPLE | |
Definition at line 21 of file two_view_geometry.h.
|
inline |
Definition at line 97 of file two_view_geometry.h.
|
static |
Definition at line 429 of file two_view_geometry.cc.
References colmap::TwoViewGeometry::Options::Check(), colmap::LORANSAC< Estimator, LocalEstimator, SupportMeasurer, Sampler >::Estimate(), colmap::Camera::Height(), colmap::RANSACOptions::min_inlier_ratio, colmap::TwoViewGeometry::Options::ransac_options, colmap::TwoViewGeometry::Options::watermark_border_size, colmap::TwoViewGeometry::Options::watermark_min_inlier_ratio, and colmap::Camera::Width().
Referenced by EstimateCalibrated(), and EstimateUncalibrated().
| void colmap::TwoViewGeometry::Estimate | ( | const Camera & | camera1, |
| const std::vector< Eigen::Vector2d > & | points1, | ||
| const Camera & | camera2, | ||
| const std::vector< Eigen::Vector2d > & | points2, | ||
| const FeatureMatches & | matches, | ||
| const Options & | options | ||
| ) |
Definition at line 113 of file two_view_geometry.cc.
References EstimateCalibrated(), EstimateUncalibrated(), and colmap::Camera::HasPriorFocalLength().
Referenced by EstimateMultiple().
| void colmap::TwoViewGeometry::EstimateCalibrated | ( | const Camera & | camera1, |
| const std::vector< Eigen::Vector2d > & | points1, | ||
| const Camera & | camera2, | ||
| const std::vector< Eigen::Vector2d > & | points2, | ||
| const FeatureMatches & | matches, | ||
| const Options & | options | ||
| ) |
Definition at line 230 of file two_view_geometry.cc.
References colmap::TwoViewGeometry::Options::Check(), config, colmap::TwoViewGeometry::Options::detect_watermark, DetectWatermark(), E, colmap::LORANSAC< Estimator, LocalEstimator, SupportMeasurer, Sampler >::Estimate(), F, H, colmap::Camera::ImageToWorld(), colmap::Camera::ImageToWorldThreshold(), inlier_matches, colmap::RANSACOptions::max_error, colmap::TwoViewGeometry::Options::max_H_inlier_ratio, colmap::TwoViewGeometry::Options::min_E_F_inlier_ratio, colmap::TwoViewGeometry::Options::min_num_inliers, PLANAR_OR_PANORAMIC, and colmap::TwoViewGeometry::Options::ransac_options.
Referenced by Estimate().
| void colmap::TwoViewGeometry::EstimateMultiple | ( | const Camera & | camera1, |
| const std::vector< Eigen::Vector2d > & | points1, | ||
| const Camera & | camera2, | ||
| const std::vector< Eigen::Vector2d > & | points2, | ||
| const FeatureMatches & | matches, | ||
| const Options & | options | ||
| ) |
Definition at line 126 of file two_view_geometry.cc.
References config, Estimate(), inlier_matches, and colmap::TwoViewGeometry::Options::multiple_ignore_watermark.
| bool colmap::TwoViewGeometry::EstimateRelativePose | ( | const Camera & | camera1, |
| const std::vector< Eigen::Vector2d > & | points1, | ||
| const Camera & | camera2, | ||
| const std::vector< Eigen::Vector2d > & | points2 | ||
| ) |
Definition at line 167 of file two_view_geometry.cc.
References colmap::CalculateTriangulationAngles(), CALIBRATED, colmap::Camera::CalibrationMatrix(), config, E, H, colmap::Camera::ImageToWorld(), inlier_matches, colmap::Median(), PANORAMIC, PLANAR, PLANAR_OR_PANORAMIC, colmap::PoseFromEssentialMatrix(), colmap::PoseFromHomographyMatrix(), qvec, colmap::RotationMatrixToQuaternion(), tri_angle, tvec, and UNCALIBRATED.
| void colmap::TwoViewGeometry::EstimateUncalibrated | ( | const Camera & | camera1, |
| const std::vector< Eigen::Vector2d > & | points1, | ||
| const Camera & | camera2, | ||
| const std::vector< Eigen::Vector2d > & | points2, | ||
| const FeatureMatches & | matches, | ||
| const Options & | options | ||
| ) |
Definition at line 365 of file two_view_geometry.cc.
References colmap::TwoViewGeometry::Options::Check(), config, colmap::TwoViewGeometry::Options::detect_watermark, DetectWatermark(), colmap::LORANSAC< Estimator, LocalEstimator, SupportMeasurer, Sampler >::Estimate(), F, H, inlier_matches, colmap::TwoViewGeometry::Options::max_H_inlier_ratio, colmap::TwoViewGeometry::Options::min_num_inliers, and colmap::TwoViewGeometry::Options::ransac_options.
Referenced by Estimate().
| void colmap::TwoViewGeometry::Invert | ( | ) |
Definition at line 99 of file two_view_geometry.cc.
References E, F, H, inlier_matches, colmap::InvertPose(), qvec, std::swap(), and tvec.
Referenced by BOOST_AUTO_TEST_CASE(), colmap::Database::ReadTwoViewGeometry(), and colmap::Database::WriteTwoViewGeometry().
| int colmap::TwoViewGeometry::config |
Definition at line 203 of file two_view_geometry.h.
Referenced by BOOST_AUTO_TEST_CASE(), EstimateCalibrated(), EstimateMultiple(), EstimateRelativePose(), EstimateUncalibrated(), colmap::MatchGuidedSiftFeaturesCPU(), colmap::MatchGuidedSiftFeaturesGPU(), colmap::Database::ReadTwoViewGeometries(), colmap::Database::ReadTwoViewGeometry(), and colmap::Database::WriteTwoViewGeometry().
| Eigen::Matrix3d colmap::TwoViewGeometry::E |
Definition at line 206 of file two_view_geometry.h.
Referenced by BOOST_AUTO_TEST_CASE(), EstimateCalibrated(), EstimateRelativePose(), Invert(), colmap::Database::ReadTwoViewGeometries(), colmap::Database::ReadTwoViewGeometry(), and colmap::Database::WriteTwoViewGeometry().
| Eigen::Matrix3d colmap::TwoViewGeometry::F |
Definition at line 208 of file two_view_geometry.h.
Referenced by BOOST_AUTO_TEST_CASE(), EstimateCalibrated(), EstimateUncalibrated(), Invert(), colmap::MatchGuidedSiftFeaturesCPU(), colmap::MatchGuidedSiftFeaturesGPU(), colmap::Database::ReadTwoViewGeometries(), colmap::Database::ReadTwoViewGeometry(), and colmap::Database::WriteTwoViewGeometry().
| Eigen::Matrix3d colmap::TwoViewGeometry::H |
Definition at line 210 of file two_view_geometry.h.
Referenced by BOOST_AUTO_TEST_CASE(), EstimateCalibrated(), EstimateRelativePose(), EstimateUncalibrated(), Invert(), colmap::MatchGuidedSiftFeaturesCPU(), colmap::MatchGuidedSiftFeaturesGPU(), colmap::Database::ReadTwoViewGeometries(), colmap::Database::ReadTwoViewGeometry(), and colmap::Database::WriteTwoViewGeometry().
| FeatureMatches colmap::TwoViewGeometry::inlier_matches |
Definition at line 217 of file two_view_geometry.h.
Referenced by BOOST_AUTO_TEST_CASE(), EstimateCalibrated(), EstimateMultiple(), EstimateRelativePose(), EstimateUncalibrated(), Invert(), colmap::MatchGuidedSiftFeaturesCPU(), colmap::MatchGuidedSiftFeaturesGPU(), colmap::Database::ReadTwoViewGeometries(), colmap::Database::ReadTwoViewGeometry(), and colmap::Database::WriteTwoViewGeometry().
| Eigen::Vector4d colmap::TwoViewGeometry::qvec |
Definition at line 213 of file two_view_geometry.h.
Referenced by BOOST_AUTO_TEST_CASE(), EstimateRelativePose(), Invert(), colmap::Database::ReadTwoViewGeometries(), colmap::Database::ReadTwoViewGeometry(), colmap::IncrementalMapper::RegisterInitialImagePair(), and colmap::Database::WriteTwoViewGeometry().
| double colmap::TwoViewGeometry::tri_angle |
Definition at line 220 of file two_view_geometry.h.
Referenced by EstimateRelativePose().
| Eigen::Vector3d colmap::TwoViewGeometry::tvec |
Definition at line 214 of file two_view_geometry.h.
Referenced by BOOST_AUTO_TEST_CASE(), EstimateRelativePose(), Invert(), colmap::Database::ReadTwoViewGeometries(), colmap::Database::ReadTwoViewGeometry(), colmap::IncrementalMapper::RegisterInitialImagePair(), and colmap::Database::WriteTwoViewGeometry().