CVB++ 14.0
AQS12RangeMapSegmentor Class Referencefinal

Segmentor object to configure face segmentation of AQS12 calibration piece on range maps. More...

#include <cvb/foundation/metric_aqs12.hpp>

Inherits RangeMapSegmentor.

Public Member Functions

std::unique_ptr< ImageFaceSegmentationFromPiece (const ImagePlane &imagePlane)
 Segments the AQS12 calibration piece from the given range map. More...
 
std::unique_ptr< ImageFaceSegmentationFromPiece (const ImagePlane &imagePlane, Rect< int > aoi)
 Segments the AQS12 calibration piece from the range map on the given area of interest. More...
 
std::vector< Point3D< double > > ExtractProjectedPointsFromPiece (const ImagePlane &imagePlane)
 Extracts 12 intersection points of the AQS12 calibration piece from the given range map. More...
 
std::vector< Point3D< double > > ExtractProjectedPointsFromPiece (const ImagePlane &imagePlane, Rect< int > aoi)
 Extracts 12 intersection points of the AQS12 calibration piece from the range map on the given area of interest. More...
 
- Public Member Functions inherited from RangeMapSegmentor
double RangeMapIgnoreValue () const noexcept
 Returns the range map ignore value of the segmentor. More...
 
void SetRangeMapIgnoreValue (double rangeMapIgnoreValue) const noexcept
 Sets the range map ignore value of the segmentor. More...
 
int WindowSize () const noexcept
 Gets window size for calculation of normals (used for the classification of the AQS12 faces). More...
 
void SetWindowSize (int windowSize) const
 Sets window size for the calculation of normals (used for the classification of the AQS12 faces). More...
 
void * Handle () const noexcept
 Returns C-API style handle to Node Object. More...
 

Static Public Member Functions

static std::shared_ptr< AQS12RangeMapSegmentorCreate (const SegmentationMethod method)
 Creates a AQS12 segmentor for range maps based on given segmentation method. More...
 
- Static Public Member Functions inherited from RangeMapSegmentor
static std::shared_ptr< RangeMapSegmentorFromHandle (HandleGuard< RangeMapSegmentor > &&guard)
 Creates a segmentor from a classic API handle. More...
 

Detailed Description

Segmentor object to configure face segmentation of AQS12 calibration piece on range maps.

Member Function Documentation

◆ Create()

static std::shared_ptr< AQS12RangeMapSegmentor > Create ( const SegmentationMethod  method)
inlinestatic

Creates a AQS12 segmentor for range maps based on given segmentation method.

Parameters
[in]methodSegmentation method to be applied (so far only KmeansClustering is supported).
Returns
The variable to receive the resulting segmentation object.
Examples
Foundation/CppMetricCalibration.

◆ ExtractProjectedPointsFromPiece() [1/2]

std::vector< Point3D< double > > ExtractProjectedPointsFromPiece ( const ImagePlane imagePlane)
inlinevirtual

Extracts 12 intersection points of the AQS12 calibration piece from the given range map.

Note, that lower roof points are projected to the base plane.

Parameters
[in]imagePlanePlane of range map image.
Returns
Extracted points.
Exceptions
Anyexception derived from std::exception including CvbException.

Implements RangeMapSegmentor.

◆ ExtractProjectedPointsFromPiece() [2/2]

std::vector< Point3D< double > > ExtractProjectedPointsFromPiece ( const ImagePlane imagePlane,
Rect< int >  aoi 
)
inlinevirtual

Extracts 12 intersection points of the AQS12 calibration piece from the range map on the given area of interest.

Note, that lower roof points are projected to the base plane.

Parameters
[in]imagePlanePlane of range map image.
[in]aoiArea of interest.
Returns
Extracted points.
Exceptions
Anyexception derived from std::exception including CvbException.

Implements RangeMapSegmentor.

◆ FaceSegmentationFromPiece() [1/2]

std::unique_ptr< Image > FaceSegmentationFromPiece ( const ImagePlane imagePlane)
inlinevirtual

Segments the AQS12 calibration piece from the given range map.

The AQS12 calibration piece is segmented into top, base and 10 faces.

Parameters
[in]imagePlanePlane of range map image.
Returns
Pointer to the segmentation image.
Exceptions
Anyexception derived from std::exception including CvbException.

Implements RangeMapSegmentor.

◆ FaceSegmentationFromPiece() [2/2]

std::unique_ptr< Image > FaceSegmentationFromPiece ( const ImagePlane imagePlane,
Rect< int >  aoi 
)
inlinevirtual

Segments the AQS12 calibration piece from the range map on the given area of interest.

The AQS12 calibration piece is segmented into top, base and 10 faces.

Parameters
[in]imagePlanePlane of range map image.
[in]aoiArea of interest.
Returns
Pointer to the segmentation image.
Exceptions
Anyexception derived from std::exception including CvbException.

Implements RangeMapSegmentor.