Open3D (C++ API)
|
Base class that checks if two (small) point clouds can be aligned. More...
#include <CorrespondenceChecker.h>
Public Member Functions | |
CorrespondenceChecker (bool require_pointcloud_alignment) | |
Default Constructor. More... | |
virtual | ~CorrespondenceChecker () |
virtual bool | Check (const geometry::PointCloud &source, const geometry::PointCloud &target, const CorrespondenceSet &corres, const Eigen::Matrix4d &transformation) const =0 |
Function to check if two points can be aligned. More... | |
Data Fields | |
bool | require_pointcloud_alignment_ |
Base class that checks if two (small) point clouds can be aligned.
This class is used in feature based matching algorithms (such as RANSAC and FastGlobalRegistration) to prune out outlier correspondences. The virtual function Check() must be implemented in subclasses.
|
inline |
Default Constructor.
require_pointcloud_alignment | Specifies whether point cloud alignment is required. |
|
inlinevirtual |
|
pure virtual |
Function to check if two points can be aligned.
The two input point clouds must have exact the same number of points.
source | Source point cloud. |
target | Target point cloud. |
corres | Correspondence set between source and target point cloud. |
transformation | The estimated transformation (inplace). |
Implemented in open3d::registration::CorrespondenceCheckerBasedOnNormal, open3d::registration::CorrespondenceCheckerBasedOnDistance, and open3d::registration::CorrespondenceCheckerBasedOnEdgeLength.
bool open3d::registration::CorrespondenceChecker::require_pointcloud_alignment_ |
Some checkers do not require point clouds to be aligned, e.g., the edge length checker. Some checkers do, e.g., the distance checker.