如果我们不考虑颜色,点云我们关注的就是其构成的几何形状。因为硬件的原因,实际中我们不可能获得完美的点云,我们只想要那些能提供几何形状信息的点,不想要那些无法扰乱真实实际物体信息的点。所以滤波是必然需要的。
最简单的滤波就是直通滤波,也就是比如你扫描了一个物体,他的高度最多目测也就1m,那我们就可以直接认为所有点云中的z坐标负数或者过大的点,都是噪点,体现不出原本物体的形状信息。
1.直通滤波用处:
可以沿着三个维度,去线性的过滤掉不符合要求的点,一般用于粗略地限定点云实际区域。
2.官方文档:
3.使用方法:
PCL是以面向对象的形式构建了一个滤波器,构建过滤器后,设置一些属性即可。最麻烦的setFilterFieldName函数的设置,其实这个就是PCD格式的名称,正常都是XYZ,也可以是Normal、RGB等,就是正常Point<>的名称,注意必须小写
pcl::PassThrough<PointType> ptfilter (true); // Initializing with true will allow us to extract the removed indices
ptfilter.setInputCloud (cloud_in);
ptfilter.setFilterFieldName ("x");
ptfilter.setFilterLimits (0.0, 1000.0);
ptfilter.filter (*cloud_out_x);
用txt打开对应的文件(几千kb的文件不要试图打开),看一下对应的fields name