Point Cloud Library (PCL)
1.9.1
|
40 #ifndef PCL_SEGMENTATION_GROUND_PLANE_COMPARATOR_H_
41 #define PCL_SEGMENTATION_GROUND_PLANE_COMPARATOR_H_
44 #include <pcl/segmentation/comparator.h>
45 #include <boost/make_shared.hpp>
54 template<
typename Po
intT,
typename Po
intNT>
65 typedef boost::shared_ptr<GroundPlaneComparator<PointT, PointNT> >
Ptr;
66 typedef boost::shared_ptr<const GroundPlaneComparator<PointT, PointNT> >
ConstPtr;
143 plane_coeff_d_ = boost::make_shared<std::vector<float> >(plane_coeff_d);
147 const std::vector<float>&
194 bool depth_dependent =
false)
220 Eigen::Vector3f vec =
input_->points[idx1].getVector3fMap ();
246 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
250 #endif // PCL_SEGMENTATION_GROUND_PLANE_COMPARATOR_H_
virtual void setGroundAngularThreshold(float angular_threshold)
Set the tolerance in radians for difference in normal direction between a point and the expected grou...
This file defines compatibility wrappers for low level I/O functions.
PointCloudNConstPtr getInputNormals() const
Get the input normals.
PointCloud::ConstPtr PointCloudConstPtr
boost::shared_ptr< PointCloud< PointNT > > Ptr
void setInputNormals(const PointCloudNConstPtr &normals)
Provide a pointer to the input normals.
boost::shared_ptr< GroundPlaneComparator< PointT, PointNT > > Ptr
pcl::PointCloud< PointNT > PointCloudN
float getAngularThreshold() const
Get the angular threshold in radians for difference in normal direction between neighboring points,...
boost::shared_ptr< std::vector< float > > plane_coeff_d_
Eigen::Vector3f desired_road_axis_
virtual bool compare(int idx1, int idx2) const
Compare points at two indices by their plane equations.
GroundPlaneComparator is a Comparator for detecting smooth surfaces suitable for driving.
PointCloudN::Ptr PointCloudNPtr
void setPlaneCoeffD(boost::shared_ptr< std::vector< float > > &plane_coeff_d)
Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form.
float road_angular_threshold_
PointCloudN::ConstPtr PointCloudNConstPtr
GroundPlaneComparator()
Empty constructor for GroundPlaneComparator.
PointCloud represents the base class in PCL for storing collections of 3D points.
Comparator< PointT >::PointCloudConstPtr PointCloudConstPtr
PointCloudNConstPtr normals_
virtual void setAngularThreshold(float angular_threshold)
Set the tolerance in radians for difference in normal direction between neighboring points,...
virtual ~GroundPlaneComparator()
Destructor for GroundPlaneComparator.
float deg2rad(float alpha)
Convert an angle from degrees to radians.
Comparator is the base class for comparators that compare two points given some function.
void setDistanceThreshold(float distance_threshold, bool depth_dependent=false)
Set the tolerance in meters for difference in perpendicular distance (d component of plane equation) ...
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide the input cloud.
float getDistanceThreshold() const
Get the distance threshold in meters (d component of plane equation) between neighboring points,...
Comparator< PointT >::PointCloud PointCloud
const std::vector< float > & getPlaneCoeffD() const
Get a pointer to the vector of the d-coefficient of the planes' hessian normal form.
void setExpectedGroundNormal(Eigen::Vector3f normal)
Set the expected ground plane normal with respect to the sensor.
void setPlaneCoeffD(std::vector< float > &plane_coeff_d)
Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form.
boost::shared_ptr< const PointCloud< PointNT > > ConstPtr
boost::shared_ptr< const GroundPlaneComparator< PointT, PointNT > > ConstPtr
float distance_threshold_
PointCloudConstPtr input_
GroundPlaneComparator(boost::shared_ptr< std::vector< float > > &plane_coeff_d)
Constructor for GroundPlaneComparator.