41 #ifndef PCL_PEOPLE_HEIGHT_MAP_2D_H_
42 #define PCL_PEOPLE_HEIGHT_MAP_2D_H_
44 #include <pcl/people/person_cluster.h>
45 #include <pcl/point_types.h>
57 template <
typename Po
intT>
106 setGround (Eigen::VectorXf& ground_coeffs);
208 #include <pcl/people/impl/height_map_2d.hpp>
HeightMap2D()
Constructor.
float getMinimumDistanceBetweenMaxima()
Get minimum distance between maxima of the height map.
std::vector< int > maxima_indices_
contains the position of the maxima in the buckets vector
int maxima_number_after_filtering_
number of local maxima after filtering
Eigen::VectorXf ground_coeffs_
ground plane coefficients
void setInputCloud(PointCloudPtr &cloud)
Set initial cluster indices.
void setSensorPortraitOrientation(bool vertical)
Set sensor orientation to landscape mode (false) or portrait mode (true).
void filterMaxima()
Filter maxima of the height map by imposing a minimum distance between them.
virtual ~HeightMap2D()
Destructor.
bool vertical_
if true, the sensor is considered to be vertically placed (portrait mode)
HeightMap2D represents a class for creating a 2D height map from a point cloud and searching for its ...
float sqrt_ground_coeffs_
ground plane normalization factor
float bin_size_
bin dimension
std::vector< int > buckets_cloud_indices_
indices of the pointcloud points with maximum height for every bin
pcl::PointCloud< PointT > PointCloud
void setGround(Eigen::VectorXf &ground_coeffs)
Set the ground coefficients.
std::vector< int > maxima_cloud_indices_
contains the point cloud position of the maxima (indices of the point cloud)
std::vector< int > buckets_
vector with maximum height values for every bin (height map)
float getBinSize()
Get bin size for the height map.
std::vector< int > & getMaximaCloudIndicesFiltered()
Return the point cloud indices corresponding to the maxima computed after the filterMaxima method...
boost::shared_ptr< const PointCloud > PointCloudConstPtr
void compute(pcl::people::PersonCluster< PointT > &cluster)
Compute the height map with the projection of cluster points onto the ground plane.
boost::shared_ptr< PointCloud > PointCloudPtr
std::vector< int > maxima_indices_filtered_
contains the position of the maxima in the buckets array after filtering
std::vector< int > & getHeightMap()
Get the height map as a vector of int.
void setMinimumDistanceBetweenMaxima(float minimum_distance_between_maxima)
Set minimum distance between maxima.
PersonCluster represents a class for representing information about a cluster containing a person...
void searchLocalMaxima()
Compute local maxima of the height map.
int maxima_number_
number of local maxima in the height map
PointCloudPtr cloud_
pointer to the input cloud
float min_dist_between_maxima_
minimum allowed distance between maxima
void setBinSize(float bin_size)
Set bin size for the height map.
std::vector< int > maxima_cloud_indices_filtered_
contains the point cloud position of the maxima after filtering
int & getMaximaNumberAfterFiltering()
Return the maxima number after the filterMaxima method.