Point Cloud Library (PCL)
1.11.1-dev
|
43 #include <pcl/features/feature.h>
44 #include <pcl/features/vfh.h>
45 #include <pcl/search/search.h>
61 template<
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::VFHSignature308>
65 using Ptr = shared_ptr<CVFHEstimation<PointInT, PointNT, PointOutT> >;
66 using ConstPtr = shared_ptr<const CVFHEstimation<PointInT, PointNT, PointOutT> >;
82 vpx_ (0), vpy_ (0), vpz_ (0),
84 normalize_bins_ (false),
85 curv_threshold_ (0.03f),
86 cluster_tolerance_ (leaf_size_ * 3),
87 eps_angle_threshold_ (0.125f),
89 radius_normals_ (leaf_size_ * 3)
127 radius_normals_ = radius_normals;
147 getCentroidClusters (std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f> > & centroids)
160 centroids.push_back (normal);
170 cluster_tolerance_ = d;
179 eps_angle_threshold_ = d;
206 normalize_bins_ = normalize;
219 float vpx_, vpy_, vpz_;
227 bool normalize_bins_;
230 float curv_threshold_;
233 float cluster_tolerance_;
236 float eps_angle_threshold_;
241 std::size_t min_points_;
244 float radius_normals_;
273 std::vector<pcl::PointIndices> &clusters,
double eps_angle,
274 unsigned int min_pts_per_cluster = 1,
275 unsigned int max_pts_per_cluster = (std::numeric_limits<int>::max) ());
285 #ifdef PCL_NO_PRECOMPILE
286 #include <pcl/features/impl/cvfh.hpp>
typename pcl::search::Search< PointNormal >::Ptr KdTreePtr
CVFHEstimation estimates the Clustered Viewpoint Feature Histogram (CVFH) descriptor for a given poin...
shared_ptr< const CVFHEstimation< PointInT, PointNT, PointOutT > > ConstPtr
VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud data...
void compute(PointCloudOut &output)
Overloaded computed method from pcl::Feature.
CVFHEstimation()
Empty constructor.
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.
void setMinPoints(std::size_t min)
Set minimum amount of points for a cluster to be considered.
double search_radius_
The nearest neighbors search radius for each point.
void setCurvatureThreshold(float d)
Sets curvature threshold for removing normals.
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > dominant_normals_
Normal centroids that were used to compute different CVFH descriptors.
shared_ptr< pcl::search::Search< PointT > > Ptr
shared_ptr< CVFHEstimation< PointInT, PointNT, PointOutT > > Ptr
void setRadiusNormals(float radius_normals)
Set the radius used to compute normals.
IndicesAllocator<> Indices
Type used for indices in PCL.
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.
typename Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
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.
void filterNormalsWithHighCurvature(const pcl::PointCloud< PointNT > &cloud, pcl::Indices &indices_to_use, pcl::Indices &indices_out, pcl::Indices &indices_in, float threshold)
Removes normals with high curvature caused by real edges or noisy data.
Feature represents the base feature class.