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>
22 estimateSurfaceNormals (
const PointCloudPtr & input,
float radius)
29 normal_estimation.
compute (*normals);
51 detectKeypoints (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals,
52 float min_scale,
int nr_octaves,
int nr_scales_per_octave,
float min_contrast)
56 sift_detect.
setScales (min_scale, nr_octaves, nr_scales_per_octave);
60 sift_detect.
compute (keypoints_temp);
80 computeLocalDescriptors (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals,
81 const PointCloudPtr & keypoints,
float feature_radius)
90 fpfh_estimation.
compute (*local_descriptors);
92 return (local_descriptors);
104 computeGlobalDescriptor (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals)
111 vfh_estimation.
compute (*global_descriptor);
113 return (global_descriptor);
130 computeFeatures (
const PointCloudPtr & input)
134 features.
normals = estimateSurfaceNormals (input, 0.05);
135 features.
keypoints = detectKeypoints (input, features.
normals, 0.005, 10, 8, 1.5);