pcl filter模块

Module filters:https://pointclouds.org/documentation/group__filters.html
RandomSample、UniformSampling、VoxelGrid都包含在其中



RandomSample

RandomSample也就是随机降采样,随机选择n个点,每个点被选到的概率相同,可以得到固定的点数量;
缺点:如果原点云是不均匀的,比如有的地方密度大,有的地方密度小,那么RandomSample采样后的点云同样是不均匀的,分布同云点云。虽然每个点被选到的概率一样,但密度大的区域内点比较多,这个区域内被采样的机会就更多,因此原来密度大的地方,采样后,密度还是大。
pcl官方文档:Point Cloud Library (PCL): pcl::RandomSample< PointT > Class Template Reference



UniformSampling

一般也叫做均匀采样,把点云划分至同等大小的空间网格,对某一个网格 G i G_i Gi​,其中心为 p i p_i pi​,网格里面包含k个点,最后是以k个点里面离网格中心中心 p i p_i pi​最近的点来代表这k个点;采样得到的点是均匀的,并且仍是原点云中的点。
pcl官方文档:
Point Cloud Library (PCL): pcl::UniformSampling< PointT > Class Template Reference



VoxelGrid

一般也叫做体素降采样,也是把点云划分至同等大小的空间网格,对某一个网格 G i G_i Gi​,网格里面包含k个点,计算k个点的质心 p i p_i pi​,最后是以质心 p i p_i pi​来代表这k个点;采样得到的点是均匀的,但采样后的点不是原点云中的点,而是重新计算出来的。
pcl官方文档:
Point Cloud Library (PCL): pcl::VoxelGrid< PointT > Class Template Reference



应用

RandomSample一般比较快,可以快速得到想采样的固定点数,适用于点本身比较均匀,需要固定点数的情景
VoxelGrid与UniformSampling一般情况下差别不是很大,而且都能得到均匀分布的点,但是在大场景,比如点间距离以米为单位这种情况,如果用VoxelGrid就会导致精度损失比较大,因为质心是计算出来的点,本不属于原点云,这样的情况下,质心点可能就会与原来的点有着米级的误差。



参考

Point Cloud Library (PCL): Module filters



--------------------------------------------------------------------------------------------诺有缸的高飞鸟202108


---------------------
作者:诺有缸的高飞鸟
来源:CSDN
原文:https://blog.csdn.net/qq_41102371/article/details/119799224
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐