Point Cloud Library (PCL)
1.10.1
|
6 #include <pcl/features/normal_3d.h>
7 #include <pcl/keypoints/sift_keypoint.h>
8 #include <pcl/features/fpfh.h>
9 #include <pcl/features/vfh.h>
10 #include <pcl/search/kdtree.h>
20 estimateSurfaceNormals (
const PointCloudPtr & input,
float radius)
27 normal_estimation.
compute (*normals);
49 detectKeypoints (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals,
50 float min_scale,
int nr_octaves,
int nr_scales_per_octave,
float min_contrast)
54 sift_detect.
setScales (min_scale, nr_octaves, nr_scales_per_octave);
56 sift_detect.setInputCloud (points);
58 sift_detect.
compute (keypoints_temp);
78 computeLocalDescriptors (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals,
79 const PointCloudPtr & keypoints,
float feature_radius)
88 fpfh_estimation.
compute (*local_descriptors);
90 return (local_descriptors);
102 computeGlobalDescriptor (
const PointCloudPtr & points,
const SurfaceNormalsPtr & normals)
109 vfh_estimation.
compute (*global_descriptor);
111 return (global_descriptor);
128 computeFeatures (
const PointCloudPtr & input)
132 features.
normals = estimateSurfaceNormals (input, 0.05);
133 features.
keypoints = detectKeypoints (input, features.
normals, 0.005, 10, 8, 1.5);
NormalEstimation estimates local surface properties (surface normals and curvatures)at each 3D point.
LocalDescriptorsPtr local_descriptors
VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud data...
GlobalDescriptorsPtr global_descriptor
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
SIFTKeypoint detects the Scale Invariant Feature Transform keypoints for a given point cloud dataset ...
SurfaceNormalsPtr normals
void setInputCloud(const PointCloudConstPtr &cloud) override
Provide a pointer to the input dataset.
FPFHEstimation estimates the Fast Point Feature Histogram (FPFH) descriptor for a given point cloud d...
void compute(PointCloudOut &output)
Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using th...
void setInputNormals(const PointCloudNConstPtr &normals)
Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.
void setMinimumContrast(float min_contrast)
Provide a threshold to limit detection of keypoints without sufficient contrast.
shared_ptr< pcl::search::Search< PointT > > Ptr
void setSearchMethod(const KdTreePtr &tree)
Provide a pointer to the search object.
void compute(PointCloudOut &output)
Base method for key point detection for all points given in <setInputCloud (), setIndices ()> using t...
void setSearchSurface(const PointCloudInConstPtr &cloud)
Provide a pointer to a dataset to add additional information to estimate the features for every point...
PCL_DEPRECATED("use pcl::concatenate() instead, but beware of subtle difference in behavior (see documentation)") PCL_EXPORTS bool concatenatePointCloud(const pcl PCL_EXPORTS void copyPointCloud(const pcl::PCLPointCloud2 &cloud_in, const std::vector< int > &indices, pcl::PCLPointCloud2 &cloud_out)
Concatenate two pcl::PCLPointCloud2.
void setRadiusSearch(double radius)
Set the sphere radius that is to be used for determining the nearest neighbors used for the feature e...
void setScales(float min_scale, int nr_octaves, int nr_scales_per_octave)
Specify the range of scales over which to search for keypoints.
void compute(PointCloudOut &output)
Overloaded computed method from pcl::Feature.
void setSearchMethod(const KdTreePtr &tree)
Provide a pointer to the search object.