在点云库中使用快速双边滤波器

Using Fast Bilateral Filter in Point Cloud Library

本文关键字:滤波器      更新时间:2023-10-16

我正在尝试应用双边过滤器来平滑2点云以进行注册。代码如下:

pcl::FastBilateralFilter<pcl::PointXYZRGB> filter;
filter.setInputCloud(input);
filter.setSigmaS(5);
filter.setSigmaR(5e-3);
filter.applyFilter(*output);

结果是一个空的点云,我似乎不明白为什么。其他人使用这种方法取得了很好的成功。我试着根据我在这篇论文中的发现来操纵我的SigmaS和SigmaR值(http://people.csail.mit.edu/sparis/bf_course/course_notes.pdf),但输出没有变化。有什么想法吗?谢谢。

我的输入云被搞砸了,因为它不是一个"有组织的点云";也就是说,在我的点云中,两个给定的点之间没有关系。PCL中的双边过滤器要求组织输入点云。点击这里了解更多信息。

由于我使用的是Kinect v2,我有能力生成有组织的点云;事实上,我把它初始化为有组织的。在代码的后面,我使用了cloud->clear()命令,该命令删除了点云中的所有高度、宽度和isDense信息;然而,我的初衷是删除数据点,这样我就可以在.

中添加新的点

libfreenect2已经有了kinectv2边缘感知双边过滤器