39 #ifndef PCL_GPU_PEOPLE_INTERNAL_H_ 40 #define PCL_GPU_PEOPLE_INTERNAL_H_ 42 #include <pcl/gpu/containers/device_array.h> 43 #include <pcl/gpu/utils/safe_call.hpp> 44 #include <pcl/gpu/people/label_common.h> 45 #include <pcl/gpu/people/tree.h> 68 Intr (
float fx_,
float fy_,
float cx_,
float cy_) : fx(fx_), fy(fy_), cx(cx_), cy(cy_) {}
72 cx = cx > 0 ?
cx : cols/2 - 0.5f;
73 cy = cy > 0 ?
cy : rows/2 - 0.5f;
77 void smoothLabelImage(
const Labels& src,
const Depth& depth, Labels& dst,
int num_parts,
int patch_size,
int depthThres);
112 static void prepareRect5x5Kernel(Kernel&
kernel);
113 static void invoke(
const Mask& src,
const Kernel&
kernel, Mask& dst);
128 CUDATree (
int treeHeight_,
const std::vector<Node>& nodes,
const std::vector<Label>& leaves);
141 process (
const Depth& dmap, Labels& lmap);
145 process (
const Depth& dmap, Labels& lmap,
int FGThresh);
149 processProb (
const Depth& dmap, Labels& lmap,
LabelProbability& prob,
int FGThresh);
162 std::cout <<
"[pcl::device::ProbabilityProc:ProbabilityProc] : (D) : Constructor called" << std::endl;
171 CUDA_SelectLabel (
const Depth& depth, Labels& labels,
LabelProbability& probabilities);
175 CUDA_CombineProb (
const Depth& depth,
LabelProbability& probIn1,
float weight1,
184 CUDA_GaussianBlur(
const Depth& depth,
190 CUDA_GaussianBlur(
const Depth& depth,
void prepareForeGroundDepth(const Depth &depth1, Mask &inverse_mask, Depth &depth2)
Intr(float fx_, float fy_, float cx_, float cy_)
DeviceArray< Node > nodes_device
float computeHue(int rgba)
Implementation Class to process probability histograms on GPU.
DeviceArray2D< float > HueImage
void computeHueWithNans(const Image &image, const Depth &depth, HueImage &hue)
std::vector< CUDATree > trees
pcl::gpu::people::trees::Label Label
DeviceArray2D< unsigned short > Depth
Processor using multiple trees.
Struct that holds a single RDF tree in GPU.
DeviceArray< unsigned char > Kernel
void smoothLabelImage(const Labels &src, const Depth &depth, Labels &dst, int num_parts, int patch_size, int depthThres)
~ProbabilityProc()
Default destructor.
DeviceArray2D< char4 > MultiLabels
Camera intrinsics structure.
DeviceArray2D< uchar4 > Image
DeviceArray2D< float4 > Cloud
void colorLMap(const Labels &labels, const DeviceArray< uchar4 > &cmap, Image &rgb)
pcl::gpu::people::trees::Node Node
void computeCloud(const Depth &depth, const Intr &intr, Cloud &cloud)
DeviceArray2D< unsigned char > Mask
void setDefaultPPIfIncorrect(int cols, int rows)
~MultiTreeLiveProc()
Empty destructor.
DeviceArray< Label > leaves_device
DeviceArray2D< unsigned char > Labels
ProbabilityProc()
Default constructor.
MultiTreeLiveProc(int def_rows=480, int def_cols=640)
Constructor with default values, allocates multilmap device memory.
void mixedColorMap(const Labels &labels, const DeviceArray< uchar4 > &map, const Image &rgba, Image &output)