Point Cloud Library (PCL)  1.7.1
load_clouds.h
1 #ifndef IO_H_
2 #define IO_H_
3 
4 #include "typedefs.h"
5 
6 #include <pcl/io/pcd_io.h>
7 
8 template <typename PointT>
9 boost::shared_ptr<pcl::PointCloud<PointT> >
10 loadPointCloud (std::string filename, std::string suffix)
11 {
12  boost::shared_ptr<pcl::PointCloud<PointT> > output (new pcl::PointCloud<PointT>);
13  filename.append (suffix);
14  pcl::io::loadPCDFile (filename, *output);
15  pcl::console::print_info ("Loaded %s (%zu points)\n", filename.c_str (), output->size ());
16  return (output);
17 }
18 
19 PointCloudPtr
20 loadPoints (std::string filename)
21 {
22  PointCloudPtr output (new PointCloud);
23  filename.append ("_points.pcd");
24  pcl::io::loadPCDFile (filename, *output);
25  pcl::console::print_info ("Loaded %s (%zu points)\n", filename.c_str (), output->size ());
26  return (output);
27 }
28 
29 SurfaceNormalsPtr
30 loadSurfaceNormals(std::string filename)
31 {
32  SurfaceNormalsPtr output (new SurfaceNormals);
33  filename.append ("_normals.pcd");
34  pcl::io::loadPCDFile (filename, *output);
35  pcl::console::print_info ("Loaded %s (%zu points)\n", filename.c_str (), output->size ());
36  return (output);
37 }
38 
39 PointCloudPtr
40 loadKeypoints (std::string filename)
41 {
42  PointCloudPtr output (new PointCloud);
43  filename.append ("_keypoints.pcd");
44  pcl::io::loadPCDFile (filename, *output);
45  pcl::console::print_info ("Loaded %s (%zu points)\n", filename.c_str (), output->size ());
46  return (output);
47 }
48 
49 LocalDescriptorsPtr
50 loadLocalDescriptors (std::string filename)
51 {
52  LocalDescriptorsPtr output (new LocalDescriptors);
53  filename.append ("_localdesc.pcd");
54  pcl::io::loadPCDFile (filename, *output);
55  pcl::console::print_info ("Loaded %s (%zu points)\n", filename.c_str (), output->size ());
56  return (output);
57 }
58 
59 GlobalDescriptorsPtr
60 loadGlobalDescriptors (std::string filename)
61 {
62  GlobalDescriptorsPtr output (new GlobalDescriptors);
63  filename.append ("_globaldesc.pcd");
64  pcl::io::loadPCDFile (filename, *output);
65  pcl::console::print_info ("Loaded %s (%zu points)\n", filename.c_str (), output->size ());
66  return (output);
67 }
68 
69 
70 #endif
PCL_EXPORTS void print_info(const char *format,...)
Print an info message on stream with colors.
int loadPCDFile(const std::string &file_name, pcl::PCLPointCloud2 &cloud)
Load a PCD v.6 file into a templated PointCloud type.
Definition: pcd_io.h:512
PointCloud represents the base class in PCL for storing collections of 3D points. ...