美文网首页
使用PCL库,寻找两个点云中的对应点

使用PCL库,寻找两个点云中的对应点

作者: 皮皮蒋 | 来源:发表于2018-09-20 20:40 被阅读0次

    其中PCL库的安装:(要翻墙才可以访问)

    推荐参考:http://gyshgx868.github.io/2018/03/06/PointCloud/pcl-install/

    目前我所学习到的方法有三种

    1.使用pcl::registration::CorrespondenceEstimation

    2.使用flann库

    3.使用pcl::search::Kdtree

    方法一:使pcl::registration::CorrespondenceEstimation

    参考代码样例:

    建议参考网址:

    https://github.com/otherlab/pcl/blob/master/test/registration/test_registration_api.cpp

    和https://blog.csdn.net/qq_36501182/article/details/79173161

    当然:在建立 

    pcl::registration::CorrespondenceEstimation<pcl::PointXYZ, pcl::PointXYZ> corr_est时候,也可以不适用pcl::PointXYZ作为匹配类型,可以使用其他特征比如:pcl::FPFHSignature33等,构建

    pcl::registration::CorrespondenceEstimation<pcl::FPFHSignature33, pcl::FPFHSignature33> corr_est

    方法二:使用flann库

    值得注意的是,PCL库应该是包含了flann库的,所以如果以及安装pcl库,则不需要单独装flann库。这里的例子直接看链接中的即可,个人感觉使用flann库有点麻烦。

    参考链接:https://blog.csdn.net/u011091739/article/details/80690647

    方法三:使用pcl::search::Kdtree

    同样,贴两个参考代码的网址

    https://blog.csdn.net/hanshuobest/article/details/50852663

    https://github.com/PointCloudLibrary/pcl/blob/master/doc/tutorials/content/sources/iros2011/src/correspondence_viewer.cpp

    其中链接一:只针对了某一个点在另一个点云中的对应点匹配,可以作为基础看,没啥难度,这里不讲了。

    链接二:推荐,官方案例而且也很好懂,是两个点云之间的匹配。主要关注下面这个函数:

    其中可能不懂的点在于LocalDescriptor是什么类型,这里找到他的头文件定义:

    https://github.com/PointCloudLibrary/pcl/blob/master/doc/tutorials/content/sources/iros2011/include/typedefs.h

    也就是说,通过kdTree是以pcl::FPFHSignature33这个特征作为匹配依据的。

    最后:

    如果不知道pcl::pcl::FPFHSignature33等特征是什么的小伙伴,建议看看:

    http://pointclouds.org/documentation/tutorials/#features-tutorial这篇官方教程里面的Feature部分。讲的很清楚。

    相关文章

      网友评论

          本文标题:使用PCL库,寻找两个点云中的对应点

          本文链接:https://www.haomeiwen.com/subject/huznnftx.html