PCL点云配准之pairwise_incremental_registration.cpp编译问题

在VS2015和Ubuntu16.04环境下,编译和运行PCL教程13章的pairwise_incremental_registration示例时遇到问题。在VS2015中,数据加载为空的错误通过调整项目属性未解决;在Ubuntu下,程序能运行并显示点云,但需关闭窗口后重新开始迭代。博客记录了问题及初步解决方案。
摘要由CSDN通过智能技术生成

关于PCL教程13章第二个例子pairwise_incremental_registration.cpp编译问题。
原理和源代码网上都有,可以自己下载。主要说下自己在编译过程出现的问题:
1在vs2015中在Dubug模式下编译一直报数据加载为空的错误,在网上查了一下有几个对应的解决办法,但是没有解决,解决参考链接如下
https://blog.csdn.net/zfjBIT/article/details/94553339
https://blog.csdn.net/zfjBIT/article/details/93996907
正文里面没有提到的可以看作者评论解决办法,在我这里是在项目属性设置中,选择调试栏,在命令参数里面输入capture0001.pcd capture0002.pcd capture0003.pcd capture0004.pcd apture0005.pcd,可以加载点云,刚开始看不见点云数据,可以按键盘R键重置摄像头位置,但只能出现teration Nr.0,问题还是没有解决。
2在ubuntu16.04下,将例程里面的cpp源码和cmakelists拷贝过来,同一目录下创建build文件夹,将点云数据放在build文件夹下,然后打开终端执行cmake … ,再执行make,生成可执行文件,然后执行
./pairwise_incremental_registration capture0001.pcd capture0002.pcd capture0003.pcd capture0004.pcd capture0005.pcd 命令,可以出图如下
在这里插入图片描述
然后按下q键就会出现绿框及以下打印,可以看见窗口在迭代更新,第一次迭代完成后出现如下
在这里插入图片描述
刚开始按 q键一直没有反应,试了很多遍,发现将上面的显示窗口关掉(主窗口不关),然后第二次迭代开始了,应该是程序里没有刷新窗口,没有细看。后面如上操作。
在这里插入图片描述
过程图如上。
本文只是记录运行该例程出现的问题,具体细节后期在这个例程上再进行修改再深究。

搭配PCL点云配准中的FPFH特征是一种常用的方法。FPFH特征是一种由点对间的特征来描述点云的局部形状信息的描述子。它的计算步骤如下: 首先,根据输入的点云数据建立一个k-最近邻(k-Nearest Neighbor,kNN)搜索结构。 接下来,对每个点,找到其最近的k个邻居点。 然后,计算每个点的法向量,并对其进行归一化。 之后,将每个点与其邻域内的每个邻居点进行连接,形成一个点对集合。 最后,计算每个点对的一个特征向量,其中包含了方向角、高度角和距离差等信息。 将FPFH特征用于点云配准中的步骤如下: 首先,将待配准的源点云和目标点云分别计算出各自的FPFH特征。 然后,使用一种配准算法(例如ICP)对源点云和目标点云进行初始配准。 接下来,根据源点云和目标点云的FPFH特征,计算两者之间的匹配关系。 然后,根据匹配关系对源点云和目标点云进行进一步的配准,并优化其刚体变换的参数。 最后,根据优化后的刚体变换参数对源点云进行配准。 通过搭配PCL点云配准中的FPFH特征,可以有效地进行点云的配准任务。它能够提取出点云的局部形状信息,并通过匹配关系计算出点云的刚体变换参数,从而实现点云的准确配准。同时,FPFH特征具有计算简单、鲁棒性强等特点,可以适用于各种类型的点云数据。因此,搭配PCL点云配准之FPFH特征是一种常用且有效的方法。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值