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