在点云库中使用快速双边滤波器
Using Fast Bilateral Filter in Point Cloud Library
我正在尝试应用双边过滤器来平滑 2 个点云以进行配准。代码如下:
pcl::FastBilateralFilter<pcl::PointXYZRGB> filter;
filter.setInputCloud(input);
filter.setSigmaS(5);
filter.setSigmaR(5e-3);
filter.applyFilter(*output);
结果是一个空的点云,我似乎不明白为什么。其他人已经成功地使用了这种方法。我已尝试根据我在本文 (http://people.csail.mit.edu/sparis/bf_course/course_notes.pdf) 中找到的内容来操纵我的 SigmaS 和 SigmaR 值,但输出没有变化。关于为什么会这样的任何想法?谢谢。
我的输入云被弄乱了,因为它不是 "organized point cloud";也就是说,我的点云中的两个给定点之间没有关系。 PCL中的双边滤波器需要组织输入点云。 Click here for more info.
由于我使用的是Kinect v2,所以我可以生成有组织的点云;实际上,我将其初始化为有组织的。在我的代码后面的某个地方,我使用了 cloud->clear() 命令删除了点云中的所有高度、宽度和 isDense 信息;然而,我的初衷是删除数据点,以便我可以添加新点。
libfreenect2 已经有一个 kinectv2 边缘感知双边过滤器
我正在尝试应用双边过滤器来平滑 2 个点云以进行配准。代码如下:
pcl::FastBilateralFilter<pcl::PointXYZRGB> filter;
filter.setInputCloud(input);
filter.setSigmaS(5);
filter.setSigmaR(5e-3);
filter.applyFilter(*output);
结果是一个空的点云,我似乎不明白为什么。其他人已经成功地使用了这种方法。我已尝试根据我在本文 (http://people.csail.mit.edu/sparis/bf_course/course_notes.pdf) 中找到的内容来操纵我的 SigmaS 和 SigmaR 值,但输出没有变化。关于为什么会这样的任何想法?谢谢。
我的输入云被弄乱了,因为它不是 "organized point cloud";也就是说,我的点云中的两个给定点之间没有关系。 PCL中的双边滤波器需要组织输入点云。 Click here for more info.
由于我使用的是Kinect v2,所以我可以生成有组织的点云;实际上,我将其初始化为有组织的。在我的代码后面的某个地方,我使用了 cloud->clear() 命令删除了点云中的所有高度、宽度和 isDense 信息;然而,我的初衷是删除数据点,以便我可以添加新点。
libfreenect2 已经有一个 kinectv2 边缘感知双边过滤器