44 #include <pcl/point_cloud.h> 47 #include <pcl/ml/densecrf.h> 48 #include <pcl/filters/voxel_grid.h> 49 #include <pcl/filters/voxel_grid_label.h> 58 template <
typename Po
intT>
90 setVoxelGridLeafSize (
const float x,
const float y,
const float z);
105 createDataVectorFromVoxelGrid ();
109 createUnaryPotentials (std::vector<float> &unary,
110 std::vector<int> &colors,
111 unsigned int n_labels);
121 setSmoothnessKernelParameters (
const float sx,
const float sy,
const float sz,
const float w);
133 setAppearanceKernelParameters (
float sx,
float sy,
float sz,
134 float sr,
float sg,
float sb,
139 setSurfaceKernelParameters (
float sx,
float sy,
float sz,
140 float snx,
float sny,
float snz,
170 std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i> >
data_;
172 std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i> >
color_;
174 std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f> >
normal_;
182 float smoothness_kernel_param_[4];
193 float appearance_kernel_param_[7];
195 float surface_kernel_param_[7];
212 #ifdef PCL_NO_PRECOMPILE 213 #include <pcl/segmentation/impl/crf_segmentation.hpp>
shared_ptr< PointCloud< PointT > > Ptr
Defines functions, macros and traits for allocating and using memory.
pcl::PointCloud< PointT >::Ptr input_cloud_
input cloud that will be segmented.
pcl::VoxelGrid< PointT > voxel_grid_
Voxel grid to discretize the scene.
VoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data...
std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > color_
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Eigen::Vector4f voxel_grid_leaf_size_
indices of the filtered cloud.
pcl::PointCloud< PointT >::Ptr filtered_cloud_
voxel grid filtered cloud.
std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > data_
voxel grid data points packing order [x0y0z0, x1y0z0,x2y0z0,...,x0y1z0,x1y1z0,...,x0y0z1,x1y0z1,...]
unsigned int n_iterations_
Defines all the PCL implemented PointT point type structures.
Eigen::Vector3i dim_
Voxel grid dimensions.
pcl::PointCloud< pcl::PointNormal >::Ptr normal_cloud_
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > normal_
pcl::PointCloud< pcl::PointNormal >::Ptr filtered_normal_
pcl::PointCloud< pcl::PointXYZRGBL >::Ptr anno_cloud_
void setNumberOfIterations(unsigned int n_iterations=10)
pcl::PointCloud< pcl::PointXYZRGBL >::Ptr filtered_anno_
Defines all the PCL and non-PCL macros used.