#include <EuclideanBlobSegmenter.h>
 | 
|   | EuclideanBlobSegmenter (Mode mode=BEST) | 
|   | Constructor.  More...
  | 
|   | 
|   | ~EuclideanBlobSegmenter () | 
|   | Destructor.  More...
  | 
|   | 
| core::Img8u  | apply (core::DataSegment< float, 4 > xyz, const core::Img8u &edgeImg, const core::Img32f &depthImg, bool stabelize=true, bool useROI=false) | 
|   | One line call for the support plane and blobs segmentation.  More...
  | 
|   | 
| void  | setROI (float xMin, float xMax, float yMin, float yMax, float zMin, float zMax) | 
|   | Sets the ROI in world coordinates.  More...
  | 
|   | 
| void  | setMinClusterSize (unsigned int size) | 
|   | Sets the minimum segment size (default 25)  More...
  | 
|   | 
| void  | setRansacParams (float distance, int passes, int subset) | 
|   | Sets the RANSAC parameters for the support plane extraction.  More...
  | 
|   | 
| void  | setBLOBSeuclDistance (int distance) | 
|   | Sets the minimum euclidean distance of blobs.  More...
  | 
|   | 
| core::Img32s  | getLabelImage (bool stabelize) | 
|   | Returns the labeled segment image.  More...
  | 
|   | 
| core::Img8u  | getColoredLabelImage (bool stabelize) | 
|   | Returns the colored segment image. Also returned by the apply method.  More...
  | 
|   | 
| std::vector< std::vector< int > >  | getSurfaces () | 
|   | Returns the surface cluster from the pre-segmentation.  More...
  | 
|   | 
| std::vector< std::vector< int > >  | getBlobs () | 
|   | Returns the segment blobs.  More...
  | 
|   | 
This class implements blob segmentation for depth images. It uses OpenCL for hardware parallelization if a compatible GPU is found. The input is a depth image, a binarized edge image from the ObjectEdgeDetector class and the xyz DataSegment from the PointCloudObject class. The output is a color image (e.g. as input for setColorsFromImage() method of the PointCloudObject class). 
 
◆ Mode
◆ EuclideanBlobSegmenter()
      
        
          | icl::geom::EuclideanBlobSegmenter::EuclideanBlobSegmenter  | 
          ( | 
          Mode  | 
          mode = BEST | ) | 
           | 
        
      
 
Constructor. 
Constructs an object of this class. All default parameters are set. Use setters for desired values. 
- Parameters
 - 
  
    | mode | GPU, CPU and BEST (default)  | 
  
   
 
 
◆ ~EuclideanBlobSegmenter()
      
        
          | icl::geom::EuclideanBlobSegmenter::~EuclideanBlobSegmenter  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ apply()
One line call for the support plane and blobs segmentation. 
- Parameters
 - 
  
    | xyz | the xyzh DataSegment from the PointCloudObject class  | 
    | edgeImg | the edge image from the ObjectEdgeDetector class  | 
    | depthImg | the input depth image  | 
    | stabelize | frame-to-frame cross-correlation to achieve the same object labels for each frame  | 
    | useROI | true for 3D region of interest (set by setROI() )  | 
  
   
- Returns
 - the color image of the segments 
 
 
 
◆ blobSegmentation()
  
  
      
        
          | void icl::geom::EuclideanBlobSegmenter::blobSegmentation  | 
          ( | 
          bool  | 
          useROI | ) | 
           | 
         
       
   | 
  
private   | 
  
 
 
◆ getBlobs()
      
        
          | std::vector<std::vector<int> > icl::geom::EuclideanBlobSegmenter::getBlobs  | 
          ( | 
           | ) | 
           | 
        
      
 
Returns the segment blobs. 
- Returns
 - a vector of blobs. Every entry contains a vector with the point indices 
 
 
 
◆ getColoredLabelImage()
      
        
          | core::Img8u icl::geom::EuclideanBlobSegmenter::getColoredLabelImage  | 
          ( | 
          bool  | 
          stabelize | ) | 
           | 
        
      
 
Returns the colored segment image. Also returned by the apply method. 
- Returns
 - the colored segment image 
 
 
 
◆ getLabelImage()
      
        
          | core::Img32s icl::geom::EuclideanBlobSegmenter::getLabelImage  | 
          ( | 
          bool  | 
          stabelize | ) | 
           | 
        
      
 
Returns the labeled segment image. 
- Returns
 - the labeled segment image 
 
 
 
◆ getSurfaces()
      
        
          | std::vector<std::vector<int> > icl::geom::EuclideanBlobSegmenter::getSurfaces  | 
          ( | 
           | ) | 
           | 
        
      
 
Returns the surface cluster from the pre-segmentation. 
- Returns
 - a vector of cluster. Every entry contains a vector with the point indices 
 
 
 
◆ regionGrow()
  
  
      
        
          | void icl::geom::EuclideanBlobSegmenter::regionGrow  | 
          ( | 
          bool  | 
          useROI | ) | 
           | 
         
       
   | 
  
private   | 
  
 
 
◆ regionGrowBlobs()
  
  
      
        
          | void icl::geom::EuclideanBlobSegmenter::regionGrowBlobs  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
 
◆ setBLOBSeuclDistance()
      
        
          | void icl::geom::EuclideanBlobSegmenter::setBLOBSeuclDistance  | 
          ( | 
          int  | 
          distance | ) | 
           | 
        
      
 
Sets the minimum euclidean distance of blobs. 
- Parameters
 - 
  
    | distance | the minimum euclidean distance for blob segmentation  | 
  
   
 
 
◆ setMinClusterSize()
      
        
          | void icl::geom::EuclideanBlobSegmenter::setMinClusterSize  | 
          ( | 
          unsigned int  | 
          size | ) | 
           | 
        
      
 
Sets the minimum segment size (default 25) 
- Parameters
 - 
  
    | size | minimum segment size in points  | 
  
   
 
 
◆ setRansacParams()
      
        
          | void icl::geom::EuclideanBlobSegmenter::setRansacParams  | 
          ( | 
          float  | 
          distance,  | 
        
        
           | 
           | 
          int  | 
          passes,  | 
        
        
           | 
           | 
          int  | 
          subset  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Sets the RANSAC parameters for the support plane extraction. 
- Parameters
 - 
  
    | distance | maximum distance between point and plane  | 
    | passes | number of RANSAC passes  | 
    | used | subset of points (e.g. 2 for every second point)  | 
  
   
 
 
◆ setROI()
      
        
          | void icl::geom::EuclideanBlobSegmenter::setROI  | 
          ( | 
          float  | 
          xMin,  | 
        
        
           | 
           | 
          float  | 
          xMax,  | 
        
        
           | 
           | 
          float  | 
          yMin,  | 
        
        
           | 
           | 
          float  | 
          yMax,  | 
        
        
           | 
           | 
          float  | 
          zMin,  | 
        
        
           | 
           | 
          float  | 
          zMax  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Sets the ROI in world coordinates. 
- Parameters
 - 
  
    | xMin | xMin in mm  | 
    | xMax | xMax in mm  | 
    | yMin | yMin in mm  | 
    | yMax | yMax in mm  | 
    | zMin | zMin in mm  | 
    | zMax | zMax in mm  | 
  
   
 
 
◆ m_data
  
  
      
        
          | Data* icl::geom::EuclideanBlobSegmenter::m_data | 
         
       
   | 
  
private   | 
  
 
internal data type 
internal data pointer 
 
 
The documentation for this class was generated from the following file: