MeshLib C++ Docs
Loading...
Searching...
No Matches
MRRigidXfRansac.h File Reference
#include "MRMeshFwd.h"
#include "MRExpected.h"
#include "MRAffineXf3.h"
#include "MRId.h"
#include <cstdint>
#include <vector>

Go to the source code of this file.

Classes

struct  MR::RigidXfRansacParams

Namespaces

namespace  MR
 Only strictly necessary for the bindings (to make MR::MeshIntersectionResult a complete type).

Functions

size_t MR::countInliers (const VertCoords &srcPoints, const VertCoords &tgtPoints, const std::vector< VertPair > &matches, const AffineXf3f &xf, float inlierDistance)
Expected< AffineXf3f > MR::findRigidXfRansac (const VertCoords &srcPoints, const VertCoords &tgtPoints, const std::vector< VertPair > &matches, const RigidXfRansacParams &params, const ProgressCallback &progress={})
 Finds the rigid transformation of source points to target points from given matches, many of which can be wrong: tests the transformations through random samples of three matches and keeps the one with most inliers (or the largest overlap, see RigidXfRansacParams::overlapSrcPoints), then refines it by least squares fitting on all its inlier matches.