Point Cloud Library (PCL)
1.10.1
|
5 #include "solution/filters.h"
6 #include "solution/segmentation.h"
7 #include "solution/feature_estimation.h"
8 #include "solution/registration.h"
10 #include <pcl/io/pcd_io.h>
11 #include <pcl/kdtree/kdtree_flann.h>
86 SurfaceNormalsPtr normals;
102 std::vector<pcl::PointIndices> cluster_indices;
106 PointCloudPtr largest_cluster (
new PointCloud);
109 return (largest_cluster);
115 SurfaceNormalsPtr & normals_out, PointCloudPtr & keypoints_out,
116 LocalDescriptorsPtr & local_descriptors_out, GlobalDescriptorsPtr & global_descriptor_out)
const
123 local_descriptors_out = computeLocalDescriptors (points, normals_out, keypoints_out,
126 global_descriptor_out = computeGlobalDescriptor (points, normals_out);
134 Eigen::Matrix4f tform;
141 tform = refineAlignment (source.
points, target.
points, tform,
152 std::vector<ObjectModel>
models_;
GlobalDescriptorsPtr global_descriptor
PointCloudPtr applyFiltersAndSegment(const PointCloudPtr &input, const ObjectRecognitionParameters ¶ms) const
std::vector< ObjectModel > models_
float surface_normal_radius
void estimateFeatures(const PointCloudPtr &points, const ObjectRecognitionParameters ¶ms, SurfaceNormalsPtr &normals_out, PointCloudPtr &keypoints_out, LocalDescriptorsPtr &local_descriptors_out, GlobalDescriptorsPtr &global_descriptor_out) const
float outlier_rejection_radius
ObjectRecognitionParameters params_
float icp_outlier_rejection_threshold
float initial_alignment_max_correspondence_distance
PointCloudPtr recognizeAndAlignPoints(const PointCloudPtr &query_cloud)
float downsample_leaf_size
PointCloud represents the base class in PCL for storing collections of 3D points.
float local_descriptor_radius
float plane_inlier_distance_threshold
float icp_max_correspondence_distance
void transformPointCloud(const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform, bool copy_all_fields=true)
Apply an affine transform defined by an Eigen Transform.
LocalDescriptorsPtr local_descriptors
void populateDatabase(const std::vector< std::string > &filenames)
pcl::KdTreeFLANN< GlobalDescriptorT >::Ptr kdtree_
int max_ransac_iterations
float keypoints_nr_octaves
PointCloudPtr alignModelPoints(const ObjectModel &source, const ObjectModel &target, const ObjectRecognitionParameters ¶ms) const
float keypoints_min_scale
float keypoints_min_contrast
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.
ObjectRecognition(const ObjectRecognitionParameters ¶ms)
float icp_transformation_epsilon
float initial_alignment_min_sample_distance
void constructObjectModel(const PointCloudPtr &points, ObjectModel &output) const
const ObjectModel & recognizeObject(const PointCloudPtr &query_cloud)
int initial_alignment_nr_iterations
shared_ptr< KdTreeFLANN< PointT, Dist > > Ptr
GlobalDescriptorsPtr descriptors_
int outlier_rejection_min_neighbors
float keypoints_nr_scales_per_octave