open3D源码分析第十一篇

2021SC@SDUSC

CorrespondenceChecker.h

注释中文部分是源码解读,分析和问题在源码之后

#include <Eigen/Core>
#include <memory>
#include <string>
#include <vector>

#include "open3d/pipelines/registration/TransformationEstimation.h"

namespace open3d {
   

namespace geometry {
   
class PointCloud;
}

namespace pipelines {
   
namespace registration {
   

// 类对应检查器class CorrespondenceChecker
// 检查两个(小)点云是否可以对齐的基类。
// 此类用于基于特征的匹配算法(如RANSAC和FastGlobalRegistration)中,以剪除异常值对应。
// 虚拟函数Check()必须在子类中实现。
class CorrespondenceChecker {
   
public:

// 默认构造函数。
// 指定是否需要点云对齐。
    CorrespondenceChecker(bool require_pointcloud_alignment)
        : require_pointcloud_alignment_(require_pointcloud_alignment) {
   }
    //析构函数 
    virtual ~CorrespondenceChecker() {
   }

public:
	//用于检查两点是否可以对齐的函数。
	//两个输入点云必须具有完全相同的点数。
    virtual bool Check(const geometry::PointCloud &source,
                       const geometry::PointCloud &target,
                       const CorrespondenceSet &corres,
                       const Eigen::Matrix4d &transformation) const = 0;

public:
    // 某些检查器不需要对齐点云,例如,边长度检查器。有些检查器会这样做,例如距离检查器。
    bool require_pointcloud_alignment_;
};

//类CorrespondenceCheckerBasedOnEdgeLength
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值