// pcl_wrapper.cpp #include #include #include extern "C" { int filter_pcd(const char* input_path, const char* output_path, float leaf_size) { pcl::PointCloud::Ptr cloud (new pcl::PointCloud); pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud); if (pcl::io::loadPCDFile(input_path, *cloud) == -1) return -1; pcl::VoxelGrid sor; sor.setInputCloud(cloud); sor.setLeafSize(leaf_size, leaf_size, leaf_size); sor.filter(*cloud_filtered); pcl::io::savePCDFile(output_path, *cloud_filtered); return 0; } }