42 #include <pcl/segmentation/plane_coefficient_comparator.h>
52 template<
typename Po
intT,
typename Po
intNT>
63 using Ptr = shared_ptr<RGBPlaneCoefficientComparator<PointT, PointNT> >;
64 using ConstPtr = shared_ptr<const RGBPlaneCoefficientComparator<PointT, PointNT> >;
112 float dx = (*input_)[idx1].x - (*input_)[idx2].x;
113 float dy = (*input_)[idx1].y - (*input_)[idx2].y;
114 float dz = (*input_)[idx1].z - (*input_)[idx2].z;
115 float dist = std::sqrt (dx*dx + dy*dy + dz*dz);
116 int dr = (*input_)[idx1].r - (*input_)[idx2].r;
117 int dg = (*input_)[idx1].g - (*input_)[idx2].g;
118 int db = (*input_)[idx1].b - (*input_)[idx2].b;
120 float color_dist =
static_cast<float> (dr*dr + dg*dg + db*db);
Comparator is the base class for comparators that compare two points given some function.
shared_ptr< Comparator< PointT > > Ptr
typename PointCloud::ConstPtr PointCloudConstPtr
shared_ptr< const Comparator< PointT > > ConstPtr
PlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar seg...
typename PointCloudN::Ptr PointCloudNPtr
float distance_threshold_
typename PointCloudN::ConstPtr PointCloudNConstPtr
PointCloudNConstPtr normals_
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< PointCloud< PointNT > > Ptr
shared_ptr< const PointCloud< PointNT > > ConstPtr
RGBPlaneCoefficientComparator is a Comparator that operates on plane coefficients,...
bool compare(int idx1, int idx2) const override
Compare two neighboring points, by using normal information, euclidean distance, and color informatio...
RGBPlaneCoefficientComparator()
Empty constructor for RGBPlaneCoefficientComparator.
RGBPlaneCoefficientComparator(shared_ptr< std::vector< float > > &plane_coeff_d)
Constructor for RGBPlaneCoefficientComparator.
void setColorThreshold(float color_threshold)
Set the tolerance in color space between neighboring points, to be considered part of the same plane.
~RGBPlaneCoefficientComparator()=default
Destructor for RGBPlaneCoefficientComparator.
float getColorThreshold() const
Get the color threshold between neighboring points, to be considered part of the same plane.
A point structure representing Euclidean xyz coordinates, and the RGB color.