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;
217 compute (PointCloudOut &output);
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_;
258 computeFeature (PointCloudOut &output);
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_ void getCentroidNormalClusters(std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > ¢roids)
Get the normal centroids used to compute different CVFH descriptors.
void setRadiusNormals(float radius_normals)
Set the radius used to compute normals.
CVFHEstimation estimates the Clustered Viewpoint Feature Histogram (CVFH) descriptor for a given poin...
pcl::VFHEstimation< PointInT, PointNT, pcl::VFHSignature308 > VFHEstimator
std::string feature_name_
The feature name.
CVFHEstimation()
Empty constructor.
Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
int k_
The number of K nearest neighbors to use for each point.
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 setEPSAngleThreshold(float d)
Sets max.
boost::shared_ptr< const CVFHEstimation< PointInT, PointNT, PointOutT > > ConstPtr
void setCurvatureThreshold(float d)
Sets curvature threshold for removing normals.
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
Define standard C methods and C++ classes that are common to all methods.
void setNormalizeBins(bool normalize)
Sets wether if the CVFH signatures should be normalized or not.
boost::shared_ptr< pcl::search::Search< PointT > > Ptr
void getCentroidClusters(std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > ¢roids)
Get the centroids used to compute different CVFH descriptors.
VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud data...
void getViewPoint(float &vpx, float &vpy, float &vpz)
Get the viewpoint.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
pcl::search::Search< PointNormal >::Ptr KdTreePtr
void compute(PointCloudOut &output)
Overloaded computed method from pcl::Feature.
Feature represents the base feature class.
void setMinPoints(size_t min)
Set minimum amount of points for a cluster to be considered.
void setViewPoint(float vpx, float vpy, float vpz)
Set the viewpoint.
double search_radius_
The nearest neighbors search radius for each point.
void setClusterTolerance(float d)
Sets max.
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > dominant_normals_
Normal centroids that were used to compute different CVFH descriptors.