首页 > PCL点云特征描述与提取(1)

PCL点云特征描述与提取(1)

#include 
#include 
#include   //法线估计类头文件
#include 
#include 
#include int
main (){
//打开点云代码
pcl::PointCloud::Ptr cloud (new pcl::PointCloud);
pcl::io::loadPCDFile ("table_scene_lms400.pcd", *cloud);
//创建法线估计估计向量
pcl::NormalEstimation ne;
ne.setInputCloud (cloud);
//创建一个空的KdTree对象,并把它传递给法线估计向量
//基于给出的输入数据集,KdTree将被建立
pcl::search::KdTree::Ptr tree (new pcl::search::KdTree ());
ne.setSearchMethod (tree);
//存储输出数据
pcl::PointCloud::Ptr cloud_normals (new pcl::PointCloud);
//使用半径在查询点周围3厘米范围内的所有临近元素
ne.setRadiusSearch (0.03);
//计算特征值
ne.compute (*cloud_normals);
// cloud_normals->points.size ()应该与input cloud_downsampled->points.size ()有相同的尺寸
//可视化
pcl::visualization::PCLVisualizer viewer("PCL Viewer");
viewer.setBackgroundColor (0.0, 0.0, 0.0);
viewer.addPointCloudNormals(cloud, cloud_normals);while (!viewer.wasStopped ())
{viewer.spinOnce ();
}return 0;
}

更多相关:

  • 招募一起学习的小伙伴,加入我们群聊中,定期分享论文,以及工程相关的问题,讨论分享。根据自己的爱好,加入不同的点云交流群,我们期待有学习点云深度学习,点云PCL,cloudcompare,以及GDAL,Open3D相关的研究人员加入我们。加入方式:后台发送微信群,按要求备注即可。       pcl_filters库包含3D点云数据的...

  • 此为文章初稿还没有完善,应该还有一些问题,等待后面有时间再继续更新,原创文章,未经允许,请勿转载!!! 首先介绍在PCL库中经常使用的两种点云之间的转换,这里将根据工程中的经验,从代码层面举例分析如何实现程序中定义的各种点云数据之间转换,并且介绍PCL在应用于ROS中应该如何转换数据结构。 (1)pcl::PCLPointClou...

  • 在PCL 的点云库中大量的使用动态内存的方式编程,比如: pcl::PCLPointCloud2::Ptr cloud (new pcl::PCLPointCloud2 ()); PointCloudT::Ptr cloud = boost::shared_ptr (new PointCloudT ())...

  • PCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部...

  • 关于输入一个具体的物体的点云,从场景中找出与该物体点云相匹配的,这种方法可以用来抓取指定的物体等等,具体的代码的解释如下,需要用到的一些基础的知识,在之前的博客中都有提及,其中用到的一些方法可以翻阅前面的博客,当然有问题可以关注公众号,与众多爱好者一起交流   具体的代码实现 #include ...

  • #include #include //io模块 #include //数据类型intmain (int argc, char** argv) {if (argc != 2) //提示如果执行可执行文件输入两个参数 -f...