Point Cloud Library (PCL)
1.11.1-dev
|
42 #include <pcl/segmentation/planar_region.h>
43 #include <pcl/pcl_base.h>
46 #include <pcl/common/utils.h>
47 #include <pcl/PointIndices.h>
48 #include <pcl/ModelCoefficients.h>
49 #include <pcl/segmentation/plane_coefficient_comparator.h>
50 #include <pcl/segmentation/plane_refinement_comparator.h>
62 template<
typename Po
intT,
typename Po
intNT,
typename Po
intLT>
225 segment (std::vector<ModelCoefficients>& model_coefficients,
226 std::vector<PointIndices>& inlier_indices,
227 std::vector<Eigen::Vector4f, Eigen::aligned_allocator<Eigen::Vector4f> >& centroids,
228 std::vector <Eigen::Matrix3f, Eigen::aligned_allocator<Eigen::Matrix3f> >& covariances,
230 std::vector<pcl::PointIndices>& label_indices);
237 segment (std::vector<ModelCoefficients>& model_coefficients,
238 std::vector<PointIndices>& inlier_indices);
263 std::vector<ModelCoefficients>& model_coefficients,
264 std::vector<PointIndices>& inlier_indices,
266 std::vector<pcl::PointIndices>& label_indices,
267 std::vector<pcl::PointIndices>& boundary_indices);
276 refine (std::vector<ModelCoefficients>& model_coefficients,
277 std::vector<PointIndices>& inlier_indices,
279 std::vector<pcl::PointIndices>& label_indices);
311 return (
"OrganizedMultiPlaneSegmentation");
317 #ifdef PCL_NO_PRECOMPILE
318 #include <pcl/segmentation/impl/organized_multi_plane_segmentation.hpp>
Defines all the PCL and non-PCL macros used.
void setAngularThreshold(double angular_threshold)
Set the tolerance in radians for difference in normal direction between neighboring points,...
typename PointCloud::ConstPtr PointCloudConstPtr
typename PointCloud::Ptr PointCloudPtr
void refine(std::vector< ModelCoefficients > &model_coefficients, std::vector< PointIndices > &inlier_indices, PointCloudLPtr &labels, std::vector< pcl::PointIndices > &label_indices)
Perform a refinement of an initial segmentation, by comparing points to adjacent regions detected by ...
void setRefinementComparator(const PlaneRefinementComparatorPtr &compare)
Provide a pointer to the comparator to be used for refinement.
OrganizedMultiPlaneSegmentation()
Constructor for OrganizedMultiPlaneSegmentation.
PlaneComparatorPtr compare_
A comparator for comparing neighboring pixels' plane equations.
void setMinInliers(unsigned min_inliers)
Set the minimum number of inliers required for a plane.
PlaneRefinementComparatorPtr refinement_compare_
A comparator for use on the refinement step.
shared_ptr< PlaneCoefficientComparator< PointT, PointNT > > Ptr
virtual std::string getClassName() const
Class getName method.
~OrganizedMultiPlaneSegmentation()
Destructor for OrganizedMultiPlaneSegmentation.
double getDistanceThreshold() const
Get the distance threshold in meters (d component of plane equation) between neighboring points,...
void segment(std::vector< ModelCoefficients > &model_coefficients, std::vector< PointIndices > &inlier_indices, std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > ¢roids, std::vector< Eigen::Matrix3f, Eigen::aligned_allocator< Eigen::Matrix3f > > &covariances, pcl::PointCloud< PointLT > &labels, std::vector< pcl::PointIndices > &label_indices)
Segmentation of all planes in a point cloud given by setInputCloud(), setIndices()
typename PointCloudN::ConstPtr PointCloudNConstPtr
void setInputNormals(const PointCloudNConstPtr &normals)
Provide a pointer to the input normals.
void segmentAndRefine(std::vector< PlanarRegion< PointT >, Eigen::aligned_allocator< PlanarRegion< PointT > > > ®ions)
Perform a segmentation, as well as an additional refinement step.
void setComparator(const PlaneComparatorPtr &compare)
Provide a pointer to the comparator to be used for segmentation.
typename PlaneComparator::Ptr PlaneComparatorPtr
OrganizedMultiPlaneSegmentation finds all planes present in the input cloud, and outputs a vector of ...
typename PointCloudL::Ptr PointCloudLPtr
PointCloudNConstPtr getInputNormals() const
Get the input normals.
unsigned min_inliers_
The minimum number of inliers required for each plane.
double maximum_curvature_
The tolerance for maximum curvature after fitting a plane.
typename PointCloudN::Ptr PointCloudNPtr
float deg2rad(float alpha)
Convert an angle from degrees to radians.
unsigned getMinInliers() const
Get the minimum number of inliers required per plane.
bool project_points_
Whether or not points should be projected to the plane, or left in the original 3D space.
PlanarRegion represents a set of points that lie in a plane.
typename PlaneComparator::ConstPtr PlaneComparatorConstPtr
shared_ptr< const PlaneRefinementComparator< PointT, PointNT, PointLT > > ConstPtr
shared_ptr< PlaneRefinementComparator< PointT, PointNT, PointLT > > Ptr
double getAngularThreshold() const
Get the angular threshold in radians for difference in normal direction between neighboring points,...
void setMaximumCurvature(double maximum_curvature)
Set the maximum curvature allowed for a planar region.
double angular_threshold_
The tolerance in radians for difference in normal direction between neighboring points,...
shared_ptr< PointCloud< PointT > > Ptr
typename PlaneRefinementComparator::Ptr PlaneRefinementComparatorPtr
typename PlaneRefinementComparator::ConstPtr PlaneRefinementComparatorConstPtr
void setProjectPoints(bool project_points)
Set whether or not to project boundary points to the plane, or leave them in the original 3D space.
shared_ptr< const PointCloud< PointT > > ConstPtr
PointCloudNConstPtr normals_
A pointer to the input normals.
shared_ptr< const PlaneCoefficientComparator< PointT, PointNT > > ConstPtr
PlaneRefinementComparator is a Comparator that operates on plane coefficients, for use in planar segm...
typename PointCloudL::ConstPtr PointCloudLConstPtr
double distance_threshold_
The tolerance in meters for difference in perpendicular distance (d component of plane equation) to t...
double getMaximumCurvature() const
Get the maximum curvature allowed for a planar region.
void setDistanceThreshold(double distance_threshold)
Set the tolerance in meters for difference in perpendicular distance (d component of plane equation) ...
PlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar seg...