PCLFiltering.hpp
Go to the documentation of this file.
1 
35 #ifndef PCLFILTERING_H_
36 #define PCLFILTERING_H_
37 
38 #ifdef LVR2_USE_PCL
39 
40 #include "lvr2/io/Timestamp.hpp"
41 #include "lvr2/io/PointBuffer.hpp"
42 
43 #include <pcl/point_types.h>
44 #include <pcl/point_cloud.h>
45 #include <pcl/io/pcd_io.h>
46 #include <pcl/features/normal_3d.h>
47 #include <pcl/features/normal_3d_omp.h>
48 #include <pcl/surface/mls.h>
49 #include <pcl/filters/statistical_outlier_removal.h>
50 
51 namespace lvr2
52 {
53 
54 class PCLFiltering
55 {
56 public:
57  PCLFiltering( PointBufferPtr buffer );
58  virtual ~PCLFiltering();
59 
60  void applyMLSProjection(float searchRadius);
61  void applyOutlierRemoval(int meank, float thresh);
62 
63  PointBufferPtr getPointBuffer();
64 
65 private:
66  pcl::PointCloud<pcl::PointXYZRGB>::Ptr m_pointCloud;
67  pcl::PointCloud<pcl::Normal>::Ptr m_pointNormals;
68  pcl::search::KdTree<pcl::PointXYZRGB>::Ptr m_kdTree;
69 
70  pcl::PointCloud<pcl::PointXYZRGB>::Ptr m_FilteredCloud;
71 
72  bool m_useColors;
73 
74 };
75 
76 } /* namespace lvr2 */
77 
78 #endif
79 
80 #endif /* PCLFILTERING_H_ */
lvr2::PointBufferPtr
std::shared_ptr< PointBuffer > PointBufferPtr
Definition: PointBuffer.hpp:130
PointBuffer.hpp
lvr2
Definition: BaseBufferManipulators.hpp:39
Timestamp.hpp


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:24