CloudCompare算法库(CCCorelib)编译(VS2017)与使用

前景介绍

本人编写此总结的目的,一是为了学习总结,二是希望帮助到其他有这个需求的同学们。
最开始想使用这个算法库是因为项目上有这个点云配准需求,通过调研也了解到比PCL中的配准效果要好。从算法实现上,虽然CC也是使用了ICP算法,但是在ICP基础上进行了改进,让其更具有通用性,,改进的ICP算法采用了一些特殊的策略或优化来适应一些特定的应用场景。而PCL库提供了多种点云配准算法的实现,包括ICP(Iterative Closest Point)、NDT(Normal Distributions Transform)等,这些算法在实现和性能上可能与CloudCompare的算法有所不同,因为CloudCompare对ICP算法进行了一些默认参数的调优,以适应一般情况下的配准需求。
偶然的机会注意到CoudCompare的作者已经将CloudCompare的算法库与其可视化&部分进行了分离,这个算法库已经可以单独拿出来进行使用了。该算法库包括CloudCompare大部分的算法过程,如ICP距离计算、点云分割等等。

编译环境:VS2017 + QT5.14.2 + CMake3.15.5

编译总结

1.算法库下载

下载链接:CCCoreLib官方下载链接
官网截图

2.使用CMake生成VS项目

在这里插入图片描述
默认勾选上面的2个选项,第1个为是否生成动态库,第2个为是否使用Qt的并行库,(没有qt这个选项可以不用选)。
注意:①别忘了修改安装路径。②记得选择自己的VS版本,我的是VS2017 X64
在这里插入图片描述

3.算法库CCCoreLib编译与安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

调用总结

安装好这个算法库之后,创建一个vs项目,配置一下头文件与库文件路径:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加下面代码进行测试

#include <CCCoreLib/PointCloudTpl.h>
#include <CCCoreLib/GenericIndexedCloudPersist.h>
#include <CCCoreLib/CCGeom.h>

#include <string>
#include <iostream>

using PointCloud = CCCoreLib::GenericIndexedCloudPersist;

void CCCICPToolDlg::OnBnClickedButton1(){
	CCCoreLib::PointCloudTpl<PointCloud> ccCloud;
	ccCloud.addPoint(CCVector3(1, 1, 1));
	ccCloud.addPoint(CCVector3(1, 1, 1));
	ccCloud.addPoint(CCVector3(1, 1, 1));
	ccCloud.addPoint(CCVector3(1, 1, 1));
	strText.Format("点云中的点数量:%d", ccCloud2.size());
	MessageBox(strText);
	
	return;
}

问题汇总

1.编译错误

在编译过程中会出现编译错误,这个时候需要增加添加
CC_CORE_LIB_USES_FLOAT 这个宏。(VS2019版本好像没有这个问题)
在这里插入图片描述

参考&引用

①https://blog.csdn.net/dayuhaitang1/article/details/128307205
②https://blog.csdn.net/qq_41965957/article/details/125229654
③https://blog.csdn.net/ahhxxttxs/article/details/122785170

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐的叮小当

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值