37 #ifndef PCL_GPU_PEOPLE_ORGANIZED_PLANE_DETECTOR_H_ 38 #define PCL_GPU_PEOPLE_ORGANIZED_PLANE_DETECTOR_H_ 40 #include <pcl/pcl_exports.h> 42 #include <pcl/point_cloud.h> 44 #include <pcl/features/integral_image_normal.h> 45 #include <pcl/segmentation/organized_multi_plane_segmentation.h> 46 #include <pcl/common/transforms.h> 47 #include <pcl/gpu/people/label_common.h> 49 #include <boost/shared_ptr.hpp> 62 typedef boost::shared_ptr<OrganizedPlaneDetector>
Ptr;
105 mps_AngularThreshold_ = mpsAngularThreshold;
116 mps_DistanceThreshold_ = mpsDistanceThreshold;
127 mps_MinInliers_ = mpsMinInliers;
140 ne_MaxDepthChangeFactor_ = neMaxDepthChangeFactor;
151 ne_NormalSmoothingSize_ = neNormalSmoothingSize;
160 HostLabelProbability& dst);
164 HostLabelProbability& dst);
167 void allocate_buffers(
int rows = 480,
int cols = 640);
float ne_NormalSmoothingSize_
pcl::PointCloud< pcl::device::prob_histogram > HostLabelProbability
int copyHostLabelProbability(HostLabelProbability &src, HostLabelProbability &dst)
int copyAndClearHostLabelProbability(HostLabelProbability &src, HostLabelProbability &dst)
void setMinInliers(unsigned min_inliers)
Set the minimum number of inliers required for a plane.
void setMpsDistanceThreshold(double mpsDistanceThreshold)
pcl::device::LabelProbability P_l_dev_
void setMpsMinInliers(int mpsMinInliers)
A point structure representing Euclidean xyz coordinates, and the RGBA color.
void setNeMaxDepthChangeFactor(float neMaxDepthChangeFactor)
pcl::IntegralImageNormalEstimation< PointTC, pcl::Normal > ne_
double getMpsDistanceThreshold() const
Defines all the PCL implemented PointT point type structures.
A point structure representing Euclidean xyz coordinates.
pcl::device::LabelProbability P_l_dev_prev_
Surface normal estimation on organized data using integral images.
double mps_AngularThreshold_
void setDistanceThreshold(double distance_threshold)
Set the tolerance in meters for difference in perpendicular distance (d component of plane equation) ...
void setMpsAngularThreshold(double mpsAngularThreshold)
void process(const PointCloud< PointTC >::ConstPtr &cloud)
Process step, this wraps Organized Plane Segmentation code.
void setMaxDepthChangeFactor(float max_depth_change_factor)
The depth change threshold for computing object borders.
int getMpsMinInliers() const
void setAngularThreshold(double angular_threshold)
Set the tolerance in radians for difference in normal direction between neighboring points...
boost::shared_ptr< const PointCloud< PointT > > ConstPtr
float ne_MaxDepthChangeFactor_
HostLabelProbability P_l_host_prev_
float getNeMaxDepthChangeFactor() const
OrganizedMultiPlaneSegmentation finds all planes present in the input cloud, and outputs a vector of ...
pcl::PointXYZRGBA PointTC
void setNeNormalSmoothingSize(float neNormalSmoothingSize)
HostLabelProbability P_l_host_
bool mps_use_planar_refinement_
void emptyHostLabelProbability(HostLabelProbability &histogram)
float getNeNormalSmoothingSize() const
double mps_DistanceThreshold_
boost::shared_ptr< OrganizedPlaneDetector > Ptr
double getMpsAngularThreshold() const
void setNormalSmoothingSize(float normal_smoothing_size)
Set the normal smoothing size.
OrganizedPlaneDetector(int rows=480, int cols=640)
This is the constructor.
pcl::OrganizedMultiPlaneSegmentation< PointTC, pcl::Normal, pcl::Label > mps_