filter_nans.cpp
Go to the documentation of this file.
00001 #include <pcl/point_types.h>
00002 #include <pcl/io/pcd_io.h>
00003 #include <pcl/filters/passthrough.h>
00004 #include <pcl/console/parse.h>
00005 
00006 using namespace pcl::console;
00007 typedef pcl::PointXYZRGB PointT;
00008 
00009 int main( int argc, char** argv )
00010 {
00011   // Parameter parsing
00012   if( argc != 3 )
00013   {
00014     std::cerr << "Syntax is: " << argv[0] << " {input_pointcloud_filename.pcd} {output_pointcloud_filename.pcd}" << std::endl;
00015     return(-1);
00016   }
00017 
00018   // Read input cloud
00019   pcl::PointCloud<PointT>::Ptr input_cloud (new pcl::PointCloud<PointT>);
00020   pcl::PCDReader reader;
00021   pcl::PCDWriter writer;
00022   reader.read ( argv[1], *input_cloud);
00023   std::cerr << "Loaded cloud with points: " << input_cloud->points.size() << std::endl;
00024 
00025   // Create the pass through filter
00026   pcl::PointCloud<PointT>::Ptr filtered_cloud (new pcl::PointCloud<PointT>);
00027   pcl::PassThrough<PointT> filter;
00028   filter.setInputCloud (input_cloud);
00029   filter.setFilterFieldName ("x");
00030   filter.setFilterLimits (-100.0, 100.0);
00031   // filter.setKeepOrganized (true);
00032   // filter.setUserFilterValue (1000.0);
00033   filter.filter (*filtered_cloud);
00034   
00035   //write back filtered cloud
00036   std::cerr << "Saving cloud to: " << std::string(argv[2]) << " with points: " << filtered_cloud->points.size() << std::endl;
00037   writer.write(std::string(argv[2]), *filtered_cloud, false);
00038   return(0);
00039 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends


pr2_data_acquisition_tools
Author(s): Dejan Pangercic
autogenerated on Thu May 23 2013 17:32:31