沿指定维度执行简单的过滤——即截断在给定用户范围之内或之外的值。
源码:
首先创建一个passthrough.cpp文件
1#include <iostream>
2#include <pcl/point_types.h>
3#include <pcl/filters/passthrough.h>
4
5int
6 main ()
7{
8 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
9 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>);
10
11 // Fill in the cloud data
12 cloud->width = 5;
13 cloud->height = 1;
14 cloud->points.resize (cloud->width * cloud->height);
15
16 for (auto& point: *cloud)
17 {
18 point.x = 1024 * rand () / (RAND_MAX + 1.0f);
19 point.y = 1024 * rand () / (RAND_MAX + 1.0f);
20 point.z = 1024 * rand () / (RAND_MAX + 1.0f);
21 }
22
23 std::cerr << "Cloud before filtering: " << std::endl;
24 for (const auto& point: *cloud)
25 std::cerr << "

本文介绍如何在点云处理中应用Passthrough过滤器。通过创建passthrough.cpp文件,定义点云对象,设置过滤字段如'z'及过滤范围,过滤掉指定字段值不在用户设定区间的点。在完成代码编写并编译后,运行程序显示过滤后的点云效果。
最低0.47元/天 解锁文章

3033

被折叠的 条评论
为什么被折叠?



