CVB++ 14.0
AQS12DensePointCloudSegmentor Class Referencefinal

Segmentor object to configure face segmentation of AQS12 calibration piece on dense point clouds. More...

#include <cvb/foundation/metric_aqs12.hpp>

Inherits DensePointCloudSegmentor.

Public Member Functions

std::unique_ptr< ImageFaceSegmentationFromPiece (const DensePointCloud &cloud) override
 Segments the AQS12 calibration piece from the given dense point cloud. More...
 
std::unique_ptr< ImageFaceSegmentationFromPiece (const DensePointCloud &cloud, Rect< int > aoi) override
 Segments the AQS12 calibration piece from the dense point cloud on the given area of interest. More...
 
std::vector< Point3D< double > > ExtractProjectedPointsFromPiece (const DensePointCloud &cloud) override
 Extracts 12 intersection points of the AQS12 calibration piece from the given dense point cloud. More...
 
std::vector< Point3D< double > > ExtractProjectedPointsFromPiece (const DensePointCloud &cloud, Rect< int > aoi)
 Extracts 12 intersection points of the AQS12 calibration piece from the dense point cloud on the given area of interest. More...
 
- Public Member Functions inherited from DensePointCloudSegmentor
int WindowSize () const
 Gets window size for calculation of normals (used for the classification of the target faces). More...
 
void SetWindowSize (int windowSize) const
 Sets window size for the calculation of normals (used for the classification of the target faces). More...
 
void * Handle () const noexcept
 Returns C-API style handle to Node Object. More...
 

Static Public Member Functions

static std::shared_ptr< AQS12DensePointCloudSegmentorCreate (const SegmentationMethod method)
 Creates a AQS12 segmentor for dense point clouds based on given segmentation method. More...
 
- Static Public Member Functions inherited from DensePointCloudSegmentor
static std::shared_ptr< DensePointCloudSegmentorFromHandle (HandleGuard< DensePointCloudSegmentor > &&guard)
 Creates a segmentor from a classic API handle. More...
 

Detailed Description

Segmentor object to configure face segmentation of AQS12 calibration piece on dense point clouds.

Member Function Documentation

◆ Create()

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

Creates a AQS12 segmentor for dense point clouds based on given segmentation method.

Note, that the segmentation is done on the projected xy plane. That means, that the base plane has to be more or less parallel to the xy plane.

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

◆ ExtractProjectedPointsFromPiece() [1/2]

std::vector< Point3D< double > > ExtractProjectedPointsFromPiece ( const DensePointCloud cloud)
inlineoverridevirtual

Extracts 12 intersection points of the AQS12 calibration piece from the given dense point cloud.

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

Parameters
[in]cloudDense point cloud.
Returns
Extracted points.
Exceptions
Anyexception derived from std::exception including CvbException.

Implements DensePointCloudSegmentor.

◆ ExtractProjectedPointsFromPiece() [2/2]

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

Extracts 12 intersection points of the AQS12 calibration piece from the dense point cloud on the given area of interest.

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

Parameters
[in]cloudDense point cloud.
[in]aoiArea of interest.
Returns
Extracted points.
Exceptions
Anyexception derived from std::exception including CvbException.

Implements DensePointCloudSegmentor.

◆ FaceSegmentationFromPiece() [1/2]

std::unique_ptr< Image > FaceSegmentationFromPiece ( const DensePointCloud cloud)
inlineoverridevirtual

Segments the AQS12 calibration piece from the given dense point cloud.

The AQS12 calibration piece is segmented into top, base and 10 faces. Note, that the segmentation is done on the projected xy plane. That means, that the base plane has to be more or less parallel to the xy plane.

Parameters
[in]cloudDense point cloud.
Returns
Pointer to the segmentation image.
Exceptions
Anyexception derived from std::exception including CvbException.

Implements DensePointCloudSegmentor.

◆ FaceSegmentationFromPiece() [2/2]

std::unique_ptr< Image > FaceSegmentationFromPiece ( const DensePointCloud cloud,
Rect< int >  aoi 
)
inlineoverridevirtual

Segments the AQS12 calibration piece from the dense point cloud on the given area of interest.

The AQS12 calibration piece is segmented into top, base and 10 faces. Note, that the segmentation is done on the projected xy plane. That means, that the base plane has to be more or less parallel to the xy plane.

Parameters
[in]cloudDense point cloud.
[in]aoiArea of interest.
Returns
Pointer to the segmentation image.
Exceptions
Anyexception derived from std::exception including CvbException.

Implements DensePointCloudSegmentor.