Point Cloud Library (PCL)  1.14.0-dev
Functions
pcl::gpu::people::label_skeleton Namespace Reference

Functions

void smoothLabelImage (cv::Mat &lmap_in, cv::Mat &dmap, cv::Mat &lmap_out)
 this function smooths the label image based on label and depth More...
 
void sortIndicesToBlob2 (const pcl::PointCloud< pcl::PointXYZ > &cloud_in, unsigned int sizeThres, std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &sorted, std::vector< std::vector< pcl::PointIndices > > &indices)
 This function takes a number of indices with label and sorts them in the blob matrix. More...
 
int giveSortedBlobsInfo (std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &sorted)
 This function is a stupid helper function to debug easilier, it print out how the matrix was sorted. More...
 

Function Documentation

◆ giveSortedBlobsInfo()

int pcl::gpu::people::label_skeleton::giveSortedBlobsInfo ( std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &  sorted)
inline

This function is a stupid helper function to debug easilier, it print out how the matrix was sorted.

Parameters
[in]sortedthe matrix of blobs
Returns
Zero if everything went well

Definition at line 380 of file label_segment.h.

◆ smoothLabelImage()

void pcl::gpu::people::label_skeleton::smoothLabelImage ( cv::Mat &  lmap_in,
cv::Mat &  dmap,
cv::Mat &  lmap_out 
)
inline

this function smooths the label image based on label and depth

Parameters
[in]lmap_inthe cvMat with the labels, must be CV_8UC1
[in]dmapthe cvMat with the depths, must be CV_16U in mm
[out]lmap_outthe smoothed output labelmap as cvMat
Todo:

make the patch size a parameter

make the z-distance a parameter

add a Gaussian contribution function to depth and vote

Definition at line 240 of file label_segment.h.

References pcl::gpu::people::NUM_PARTS.

◆ sortIndicesToBlob2()

void pcl::gpu::people::label_skeleton::sortIndicesToBlob2 ( const pcl::PointCloud< pcl::PointXYZ > &  cloud_in,
unsigned int  sizeThres,
std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &  sorted,
std::vector< std::vector< pcl::PointIndices > > &  indices 
)
inline

This function takes a number of indices with label and sorts them in the blob matrix.

Parameters
[in]cloud_inthe original input pointcloud from which everything was calculated
[in]sizeThresthe minimal size needed to be considered as a valid blob
[out]sortedthe matrix in which every blob will be pushed back
[in]indicesthe matrix of PointIndices
Todo:

implement the eigenvalue evaluation again

do we still need sizeThres?

Definition at line 331 of file label_segment.h.

References pcl::compute3DCentroid(), pcl::computeCovarianceMatrixNormalized(), pcl::gpu::people::Blob2::cov, pcl::eigen33(), pcl::gpu::people::Blob2::eigenval, pcl::gpu::people::Blob2::eigenvect, pcl::getMinMax3D(), pcl::gpu::people::Blob2::id, pcl::gpu::people::Blob2::indices, pcl::gpu::people::Blob2::label, pcl::gpu::people::Blob2::lid, pcl::gpu::people::Blob2::max, pcl::gpu::people::Blob2::mean, and pcl::gpu::people::Blob2::min.