Go to the documentation of this file.00001 #include <iostream>
00002 #include <pcl/io/pcd_io.h>
00003 #include <pcl/point_types.h>
00004 #include <pcl/filters/voxel_grid.h>
00005
00006 int
00007 main (int argc, char** argv)
00008 {
00009 sensor_msgs::PointCloud2::Ptr cloud (new sensor_msgs::PointCloud2 ());
00010 sensor_msgs::PointCloud2::Ptr cloud_filtered (new sensor_msgs::PointCloud2 ());
00011
00012
00013 pcl::PCDReader reader;
00014
00015 reader.read ("table_scene_lms400.pcd", *cloud);
00016
00017 std::cerr << "PointCloud before filtering: " << cloud->width * cloud->height
00018 << " data points (" << pcl::getFieldsList (*cloud) << ").";
00019
00020
00021 pcl::VoxelGrid<sensor_msgs::PointCloud2> sor;
00022 sor.setInputCloud (cloud);
00023 sor.setLeafSize (0.01f, 0.01f, 0.01f);
00024 sor.filter (*cloud_filtered);
00025
00026 std::cerr << "PointCloud after filtering: " << cloud_filtered->width * cloud_filtered->height
00027 << " data points (" << pcl::getFieldsList (*cloud_filtered) << ").";
00028
00029 pcl::PCDWriter writer;
00030 writer.write ("table_scene_lms400_downsampled.pcd", *cloud_filtered,
00031 Eigen::Vector4f::Zero (), Eigen::Quaternionf::Identity (), false);
00032
00033 return (0);
00034 }