1 #ifndef FEATURE_ESTIMATION_H
2 #define FEATURE_ESTIMATION_H
7 #include <pcl/features/normal_3d.h>
8 #include <pcl/keypoints/sift_keypoint.h>
9 #include <pcl/features/fpfh.h>
10 #include <pcl/features/vfh.h>
11 #include <pcl/search/kdtree.h>
21 estimateSurfaceNormals (
const PointCloudPtr & input,
float radius)
28 normal_estimation.
compute (*normals);
50 detectKeypoints (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals,
51 float min_scale,
int nr_octaves,
int nr_scales_per_octave,
float min_contrast)
55 sift_detect.
setScales (min_scale, nr_octaves, nr_scales_per_octave);
59 sift_detect.
compute (keypoints_temp);
79 computeLocalDescriptors (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals,
80 const PointCloudPtr & keypoints,
float feature_radius)
89 fpfh_estimation.
compute (*local_descriptors);
91 return (local_descriptors);
103 computeGlobalDescriptor (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals)
110 vfh_estimation.
compute (*global_descriptor);
112 return (global_descriptor);
129 computeFeatures (
const PointCloudPtr & input)
133 features.
normals = estimateSurfaceNormals (input, 0.05);
134 features.
keypoints = detectKeypoints (input, features.
normals, 0.005, 10, 8, 1.5);