D435i直接输出的深度点云噪点太多经过滤波处理后再使用
直通滤波 保留或删除某一轴线特定范围内的点,改变视野范围。
pcl::PassThrough<pcl::PointXYZ> range;
range.setInputCloud (cloud);
range.setFilterFieldName ("z");
range.setFilterLimits (0.0, 1.0);
range.filter (*cloud_filtered);
体素滤波 使用体素网格进行下采样,减少点云的数量和数据、保留点云表面的形状体征,提高配准、表面重建,不破坏点云本身的几何结构,但是会移动点的位置,可以去除一定程度的噪音点和离群点
原理是根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体。对于每一个小立方体内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点。
pcl::VoxelGrid<pcl::PCLPointCloud2> voxel;
voxel.setInputCloud (cloud);
voxel.setLeafSize (0.01f, 0.01f, 0.01f);
voxel.filter (*cloud_filtered);
半径滤波 降噪,删除该图像内符合约束条件的点,处理离群点。
原理是设定每个点一定半径范围内至少有足够的邻近点,不满足就会被删除
pcl::RadiusOutlierRemoval<pcl::PointXYZ> radius;
radius.setInputCloud(cloud);
radius.setRadiusSearch(0.8);
radius.setMinNeighborsInRadius (2);
radius.filter (*cloud_filtered);
ros下使用PCL
官方教程:http://wiki.ros.org/pcl/Tutorials#pcl.2BAC8-Tutorials.2BAC8-hydro.Create_a_ROS_package
八叉树地图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)