Point Cloud Library (PCL)
1.9.1
|
41 #ifndef PCL_FEATURES_CVFH_H_
42 #define PCL_FEATURES_CVFH_H_
44 #include <pcl/features/feature.h>
45 #include <pcl/features/vfh.h>
46 #include <pcl/search/pcl_search.h>
63 template<
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::VFHSignature308>
67 typedef boost::shared_ptr<CVFHEstimation<PointInT, PointNT, PointOutT> >
Ptr;
68 typedef boost::shared_ptr<const CVFHEstimation<PointInT, PointNT, PointOutT> >
ConstPtr;
84 vpx_ (0), vpy_ (0), vpz_ (0),
86 normalize_bins_ (false),
87 curv_threshold_ (0.03f),
88 cluster_tolerance_ (leaf_size_ * 3),
89 eps_angle_threshold_ (0.125f),
91 radius_normals_ (leaf_size_ * 3),
110 std::vector<int> &indices_in,
float threshold);
131 radius_normals_ = radius_normals;
151 getCentroidClusters (std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f> > & centroids)
174 cluster_tolerance_ = d;
183 eps_angle_threshold_ = d;
210 normalize_bins_ = normalize;
223 float vpx_, vpy_, vpz_;
231 bool normalize_bins_;
234 float curv_threshold_;
237 float cluster_tolerance_;
240 float eps_angle_threshold_;
248 float radius_normals_;
277 std::vector<pcl::PointIndices> &clusters,
double eps_angle,
278 unsigned int min_pts_per_cluster = 1,
279 unsigned int max_pts_per_cluster = (std::numeric_limits<int>::max) ());
289 #ifdef PCL_NO_PRECOMPILE
290 #include <pcl/features/impl/cvfh.hpp>
293 #endif //#ifndef PCL_FEATURES_CVFH_H_
CVFHEstimation estimates the Clustered Viewpoint Feature Histogram (CVFH) descriptor for a given poin...
This file defines compatibility wrappers for low level I/O functions.
boost::shared_ptr< pcl::search::Search< PointT > > Ptr
Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud data...
pcl::VFHEstimation< PointInT, PointNT, pcl::VFHSignature308 > VFHEstimator
void compute(PointCloudOut &output)
Overloaded computed method from pcl::Feature.
PointCloud represents the base class in PCL for storing collections of 3D points.
CVFHEstimation()
Empty constructor.
void filterNormalsWithHighCurvature(const pcl::PointCloud< PointNT > &cloud, std::vector< int > &indices_to_use, std::vector< int > &indices_out, std::vector< int > &indices_in, float threshold)
Removes normals with high curvature caused by real edges or noisy data.
void setClusterTolerance(float d)
Sets max.
void setViewPoint(float vpx, float vpy, float vpz)
Set the viewpoint.
void getCentroidNormalClusters(std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > ¢roids)
Get the normal centroids used to compute different CVFH descriptors.
double search_radius_
The nearest neighbors search radius for each point.
void setCurvatureThreshold(float d)
Sets curvature threshold for removing normals.
void setMinPoints(size_t min)
Set minimum amount of points for a cluster to be considered.
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > dominant_normals_
Normal centroids that were used to compute different CVFH descriptors.
boost::shared_ptr< const CVFHEstimation< PointInT, PointNT, PointOutT > > ConstPtr
void setRadiusNormals(float radius_normals)
Set the radius used to compute normals.
int k_
The number of K nearest neighbors to use for each point.
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > centroids_dominant_orientations_
Centroids that were used to compute different CVFH descriptors.
boost::shared_ptr< CVFHEstimation< PointInT, PointNT, PointOutT > > Ptr
void setEPSAngleThreshold(float d)
Sets max.
void getViewPoint(float &vpx, float &vpy, float &vpz)
Get the viewpoint.
void setNormalizeBins(bool normalize)
Sets whether if the CVFH signatures should be normalized or not.
void getCentroidClusters(std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > ¢roids)
Get the centroids used to compute different CVFH descriptors.
std::string feature_name_
The feature name.
Feature represents the base feature class.
pcl::search::Search< PointNormal >::Ptr KdTreePtr