Point Cloud Library (PCL)  1.14.1-dev
Classes | Typedefs | Enumerations | Functions
pcl::segmentation::grabcut Namespace Reference

Classes

class  BoykovKolmogorov
 boost implementation of Boykov and Kolmogorov's maxflow algorithm doesn't support negative flows which makes it inappropriate for this context. More...
 
struct  Color
 Structure to save RGB colors into floats. More...
 
struct  Gaussian
 Gaussian structure. More...
 
class  GMM
 
class  GaussianFitter
 Helper class that fits a single Gaussian to color samples. More...
 

Typedefs

using Image = pcl::PointCloud< Color >
 An Image is a point cloud of Color. More...
 

Enumerations

enum  TrimapValue { TrimapUnknown = -1 , TrimapForeground , TrimapBackground }
 User supplied Trimap values. More...
 
enum  SegmentationValue { SegmentationForeground = 0 , SegmentationBackground }
 Grabcut derived hard segmentation values. More...
 

Functions

float colorDistance (const Color &c1, const Color &c2)
 Compute squared distance between two colors. More...
 
PCL_EXPORTS void buildGMMs (const Image &image, const Indices &indices, const std::vector< SegmentationValue > &hardSegmentation, std::vector< std::size_t > &components, GMM &background_GMM, GMM &foreground_GMM)
 Build the initial GMMs using the Orchard and Bouman color clustering algorithm. More...
 
PCL_EXPORTS void learnGMMs (const Image &image, const Indices &indices, const std::vector< SegmentationValue > &hard_segmentation, std::vector< std::size_t > &components, GMM &background_GMM, GMM &foreground_GMM)
 Iteratively learn GMMs using GrabCut updating algorithm. More...
 

Typedef Documentation

◆ Image

An Image is a point cloud of Color.

Definition at line 190 of file grabcut_segmentation.h.

Enumeration Type Documentation

◆ SegmentationValue

Grabcut derived hard segmentation values.

Enumerator
SegmentationForeground 
SegmentationBackground 

Definition at line 201 of file grabcut_segmentation.h.

◆ TrimapValue

User supplied Trimap values.

Enumerator
TrimapUnknown 
TrimapForeground 
TrimapBackground 

Definition at line 199 of file grabcut_segmentation.h.

Function Documentation

◆ buildGMMs()

PCL_EXPORTS void pcl::segmentation::grabcut::buildGMMs ( const Image image,
const Indices indices,
const std::vector< SegmentationValue > &  hardSegmentation,
std::vector< std::size_t > &  components,
GMM background_GMM,
GMM foreground_GMM 
)

Build the initial GMMs using the Orchard and Bouman color clustering algorithm.

Referenced by pcl::GrabCut< PointT >::fitGMMs().

◆ colorDistance()

float pcl::segmentation::grabcut::colorDistance ( const Color c1,
const Color c2 
)

Compute squared distance between two colors.

Parameters
[in]c1first color
[in]c2second color
Returns
the squared distance measure in RGB space

◆ learnGMMs()

PCL_EXPORTS void pcl::segmentation::grabcut::learnGMMs ( const Image image,
const Indices indices,
const std::vector< SegmentationValue > &  hard_segmentation,
std::vector< std::size_t > &  components,
GMM background_GMM,
GMM foreground_GMM 
)

Iteratively learn GMMs using GrabCut updating algorithm.

Referenced by pcl::GrabCut< PointT >::refineOnce().