Foundation (CVMetric.dll) 14.0
1) Configuration of AQS12 Segmentor

Functions to configure the AQS12 Segmentor object. More...

Data Structures

struct  CVMAQS12SEGMENTOR3DClustering
 Parameters for clustering a point cloud to the 12 faces of the AQS12 piece. More...
 

Enumerations

enum  CVMAQS12SegmentationMethod { CVMSM_KmeansClustering = 1 , CVMSM_PointCloudNormalDeviationClustering }
 
enum  CVMAQS12SEGMENTOR3DFilterFeature { CVMAQS12_None = 0 , CVMAQS12_Planarity , CVMAQS12_Variation , CVMAQS12_Sphericity }
 

Functions

cvbres_t CVMAQS12CreateSegmentorForDensePointCloud (CVMAQS12SegmentationMethod SegmentationMethod, CVMAQS12SEGMENTOR3D &Segmentor)
 Creates a default AQS12 segmentor for dense point clouds. More...
 
cvbres_t CVMAQS12CreateSegmentorForPointCloud (CVMAQS12SegmentationMethod SegmentationMethod, CVMAQS12SEGMENTOR3D &Segmentor)
 Creates a default AQS12 segmentor for dense or sparse point clouds. More...
 
cvbres_t CVMAQS12CreateSegmentorForRangeMap (CVMAQS12SegmentationMethod SegmentationMethod, CVMAQS12SEGMENTOR2D &Segmentor)
 Creates a default AQS12 segmentor for range maps with default range map ignore value equal zero. More...
 
cvbres_t CVMAQS12SegmentorDensePointCloudGetWindowSize (CVMAQS12SEGMENTOR3D Segmentor, cvbdim_t &WindowSize)
 Gets window size for calculation of normals (used for the classification of the AQS12 faces). More...
 
cvbres_t CVMAQS12SegmentorDensePointCloudSetWindowSize (CVMAQS12SEGMENTOR3D Segmentor, cvbdim_t WindowSize)
 Sets window size segmentor for calculation of normals (used for the classification of the AQS12 faces). More...
 
cvbres_t CVMAQS12SegmentorPointCloudDisablePreprocessingFilterGeometricFeature (CVMAQS12SEGMENTOR3D Segmentor)
 Disables filtering the point cloud. More...
 
cvbres_t CVMAQS12SegmentorPointCloudDisablePreprocessingResample (CVMAQS12SEGMENTOR3D Segmentor)
 Disables resampling the point cloud. More...
 
cvbres_t CVMAQS12SegmentorPointCloudDisablePreprocessingScaleXZ (CVMAQS12SEGMENTOR3D Segmentor)
 Disables scaling in x and z. More...
 
cvbres_t CVMAQS12SegmentorPointCloudGetClustering (CVMAQS12SEGMENTOR3D Segmentor, CVMAQS12SEGMENTOR3DClustering &Parameter)
 Gets the parameters for clustering AQS12 points into 12 faces. More...
 
cvbres_t CVMAQS12SegmentorPointCloudGetPreprocessingFilterGeometricFeature (CVMAQS12SEGMENTOR3D Segmentor, CVMAQS12SEGMENTOR3DFilterFeature &Feature, double &Threshold, size_t &NumberNeighbors)
 Gets the parameters for filtering the point cloud using a geometric feature. More...
 
cvbres_t CVMAQS12SegmentorPointCloudGetPreprocessingResample (CVMAQS12SEGMENTOR3D Segmentor, size_t &NumberVoxel)
 Gets the parameters for resampling the point cloud. More...
 
cvbres_t CVMAQS12SegmentorPointCloudGetPreprocessingScaleXZ (CVMAQS12SEGMENTOR3D Segmentor, double &FactorX, double &FactorZ)
 Gets the parameters for scaling in x and z. More...
 
cvbres_t CVMAQS12SegmentorPointCloudSetClustering (CVMAQS12SEGMENTOR3D Segmentor, const CVMAQS12SEGMENTOR3DClustering &Parameter)
 Sets the parameters for clustering AQS12 points into 12 faces. More...
 
cvbres_t CVMAQS12SegmentorPointCloudSetPreprocessingFilterGeometricFeature (CVMAQS12SEGMENTOR3D Segmentor, const CVMAQS12SEGMENTOR3DFilterFeature &Feature, double Threshold, size_t NumberNeighbors)
 Sets the parameters for filtering the point cloud using a geometric feature. More...
 
cvbres_t CVMAQS12SegmentorPointCloudSetPreprocessingResample (CVMAQS12SEGMENTOR3D Segmentor, size_t NumberVoxel)
 Sets the parameters for resampling the point cloud. More...
 
cvbres_t CVMAQS12SegmentorPointCloudSetPreprocessingScaleXZ (CVMAQS12SEGMENTOR3D Segmentor, double FactorX, double FactorZ)
 Sets the parameters for scaling in x and z. More...
 
cvbres_t CVMAQS12SegmentorRangeMapGetIgnoreValue (CVMAQS12SEGMENTOR2D Segmentor, double &Value)
 Gets range map ignore value of an AQS12 segmentor for range maps. More...
 
cvbres_t CVMAQS12SegmentorRangeMapGetWindowSize (CVMAQS12SEGMENTOR2D Segmentor, cvbdim_t &WindowSize)
 Gets window size for calculation of normals (used for the classification of the AQS12 faces). More...
 
cvbres_t CVMAQS12SegmentorRangeMapSetIgnoreValue (CVMAQS12SEGMENTOR2D Segmentor, double Value)
 Sets range map ignore value to AQS12 segmentor for range maps. More...
 
cvbres_t CVMAQS12SegmentorRangeMapSetWindowSize (CVMAQS12SEGMENTOR2D Segmentor, cvbdim_t WindowSize)
 Sets window size segmentor for calculation of normals (used for the classification of the AQS12 faces). More...
 

Detailed Description

Functions to configure the AQS12 Segmentor object.

Enumeration Type Documentation

◆ CVMAQS12SegmentationMethod

Enumerator
CVMSM_KmeansClustering 

The faces of the AQS12 piece are clustered by the kmeans alogrithm.

This method can be applied for range maps or dense point clouds, where the base plane of the AQS12 is parallel to the xy plane. Pixels are clustered to 8 groups (top, base plane and 4 faces) using the kmeans.

CVMSM_PointCloudNormalDeviationClustering 

The faces of the AQS12 piece are clustered by a condition region growing clustering algorithm on point clouds.

Since
Common Vision Blox 14.0

This method can be applied with dense or sparse point clouds. For the region growing clustering the AQS12 points are grouped by similar normals. In order to configure the clustering and necessary pre-processing steps, use function CVMAQS12CreateSegmentorForPointCloud.

◆ CVMAQS12SEGMENTOR3DFilterFeature

Enumerator
CVMAQS12_None 

No feature is calculated.

CVMAQS12_Planarity 

Planarity is calculated.

CVMAQS12_Variation 

Variation is calculated.

CVMAQS12_Sphericity 

Sphericity is caculated.

Function Documentation

◆ CVMAQS12CreateSegmentorForDensePointCloud()

cvbres_t CVMAQS12CreateSegmentorForDensePointCloud ( CVMAQS12SegmentationMethod  SegmentationMethod,
CVMAQS12SEGMENTOR3D &  Segmentor 
)

Creates a default AQS12 segmentor for dense point clouds.

Since
Common Vision Blox 13.4
Attention
The following constraints for the point cloud have to be met:
  • The point cloud must be dense.
  • The AQS12 may not be tilted. The xy plane must be parallel to the base plane of the AQS12.
  • Disturbing background must be eliminated by setting these points to non-confident. You can create a calibrated dense point cloud with function CVC3DCreateCalibratedPointCloudFromRangeMap. Before creating the cloud, set the range map ignore value with function CVC3DCalibratorSetRangeMapIgnoreValue. All pixels with this value will be interpreted as non-confident.
Note
If this function returns successfully you need to release the returned Segmentor via ReleaseObject if not needed anymore.
Parameters
[in]SegmentationMethodSegmentation method to be applied (so far only CVMSM_KmeansClustering is supported).
[out]SegmentorVariable to receive the resulting segmentor object.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_PARAMETER) segmentation method not supported
  • CVC_ERROR(CVC_E_MEMORY) if not enough memory was available to create the Segmentor.
See also
CVMAQS12CreateSegmentorForRangeMap, CVMAQS12CalculateCorrectionOfLaserPlaneInclinationFromPiece, CVMAQS12CalculateRigidBodyTransformationFromPiece

◆ CVMAQS12CreateSegmentorForPointCloud()

cvbres_t CVMAQS12CreateSegmentorForPointCloud ( CVMAQS12SegmentationMethod  SegmentationMethod,
CVMAQS12SEGMENTOR3D &  Segmentor 
)

Creates a default AQS12 segmentor for dense or sparse point clouds.

Since
Common Vision Blox 14.0
Attention
If CVMSM_KmeansClustering is chosen as segmentation method, the following constraints for the point cloud have to be met:
  • The point cloud must be dense.
  • The AQS12 may not be tilted. The xy plane must be parallel to the base plane of the AQS12.
  • Disturbing background must be eliminated by setting these points to non-confident. You can create a calibrated dense point cloud with function CVC3DCreateCalibratedPointCloudFromRangeMap. Before creating the cloud, set the range map ignore value with function CVC3DCalibratorSetRangeMapIgnoreValue. All pixels with this value will be interpreted as non-confident.
Note
If this function returns successfully you need to release the returned Segmentor via ReleaseObject if not needed anymore.
Parameters
[in]SegmentationMethodSegmentation method to be applied.
[out]SegmentorVariable to receive the resulting segmentor object.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_MEMORY) if not enough memory was available to create the Segmentor.
See also
CVMAQS12CreateSegmentorForRangeMap, CVMAQS12CreateSegmentorForDensePointCloud, CVMAQS12CalculateCorrectionOfLaserPlaneInclinationFromPiece, CVMAQS12CalculateRigidBodyTransformationFromPiece

◆ CVMAQS12CreateSegmentorForRangeMap()

cvbres_t CVMAQS12CreateSegmentorForRangeMap ( CVMAQS12SegmentationMethod  SegmentationMethod,
CVMAQS12SEGMENTOR2D &  Segmentor 
)

Creates a default AQS12 segmentor for range maps with default range map ignore value equal zero.

Since
Common Vision Blox 13.4
Note
If this function returns successfully you need to release the returned Segmentor via ReleaseObject if not needed anymore.
Parameters
[in]SegmentationMethodSegmentation method to be applied (so far only CVMSM_KmeansClustering is supported).
[out]SegmentorVariable to receive the resulting segmentor object.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_PARAMETER) segmentation method not supported
  • CVC_ERROR(CVC_E_MEMORY) if not enough memory was available to create the Segmentor.
See also
CVMAQS12SegmentorRangeMapSetIgnoreValue, CVMAQS12CreateSegmentorForDensePointCloud, CVMAQS12CreateIntrinsicCalibratorFromPiece

◆ CVMAQS12SegmentorDensePointCloudGetWindowSize()

cvbres_t CVMAQS12SegmentorDensePointCloudGetWindowSize ( CVMAQS12SEGMENTOR3D  Segmentor,
cvbdim_t &  WindowSize 
)

Gets window size for calculation of normals (used for the classification of the AQS12 faces).

If WindowSize is set to zero, the window size will be calculated automatically.

Note
The window size is only valid for dense point cloud segementors, where the segmentation method CVMSM_KmeansClustering is applied.
Parameters
[in]SegmentorDense point cloud segmentor object.
[out]WindowSizeSide length of squared window.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a valid segmentor object for dense point clouds
See also
CVMAQS12SegmentorDensePointCloudSetWindowSize, CVMAQS12CreateSegmentorForDensePointCloud

◆ CVMAQS12SegmentorDensePointCloudSetWindowSize()

cvbres_t CVMAQS12SegmentorDensePointCloudSetWindowSize ( CVMAQS12SEGMENTOR3D  Segmentor,
cvbdim_t  WindowSize 
)

Sets window size segmentor for calculation of normals (used for the classification of the AQS12 faces).

If WindowSize is set to zero, the window size will be calculated automatically. If it is an even number, it will be extended with one.

Note
This function only works for dense point cloud segementors, where the segmentation method CVMSM_KmeansClustering is applied.
Parameters
[in]SegmentorDense point cloud segmentor object to be modified.
[in]WindowSizeSide length of squared window.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a valid segmentor object for dense point clouds
  • CVC_ERROR(CVC_E_PARAMETER) if WindowSize is negative
See also
CVMAQS12SegmentorRangeMapGetWindowSize, CVMAQS12CreateSegmentorForRangeMap

◆ CVMAQS12SegmentorPointCloudDisablePreprocessingFilterGeometricFeature()

cvbres_t CVMAQS12SegmentorPointCloudDisablePreprocessingFilterGeometricFeature ( CVMAQS12SEGMENTOR3D  Segmentor)

Disables filtering the point cloud.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object where filtering should be disabled.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudGetPreprocessingFilterGeometricFeature, CVMAQS12SegmentorPointCloudSetPreprocessingFilterGeometricFeature

◆ CVMAQS12SegmentorPointCloudDisablePreprocessingResample()

cvbres_t CVMAQS12SegmentorPointCloudDisablePreprocessingResample ( CVMAQS12SEGMENTOR3D  Segmentor)

Disables resampling the point cloud.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object where resampling should be disabled.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudGetPreprocessingResample, CVMAQS12SegmentorPointCloudSetPreprocessingResample

◆ CVMAQS12SegmentorPointCloudDisablePreprocessingScaleXZ()

cvbres_t CVMAQS12SegmentorPointCloudDisablePreprocessingScaleXZ ( CVMAQS12SEGMENTOR3D  Segmentor)

Disables scaling in x and z.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object where scaling should be disabled.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudGetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudSetPreprocessingScaleXZ

◆ CVMAQS12SegmentorPointCloudGetClustering()

cvbres_t CVMAQS12SegmentorPointCloudGetClustering ( CVMAQS12SEGMENTOR3D  Segmentor,
CVMAQS12SEGMENTOR3DClustering Parameter 
)

Gets the parameters for clustering AQS12 points into 12 faces.

The faces of the AQS12 piece are clustered by a condition region growing clustering algorithm on point clouds. The points are grouped by similar normals.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object.
[out]ParameterParameters to configure clustering.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudSetClustering, CVMAQS12SegmentorPointCloudGetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudGetPreprocessingResample, CVMAQS12SegmentorPointCloudGetPreprocessingFilterGeometricFeature

◆ CVMAQS12SegmentorPointCloudGetPreprocessingFilterGeometricFeature()

cvbres_t CVMAQS12SegmentorPointCloudGetPreprocessingFilterGeometricFeature ( CVMAQS12SEGMENTOR3D  Segmentor,
CVMAQS12SEGMENTOR3DFilterFeature Feature,
double &  Threshold,
size_t &  NumberNeighbors 
)

Gets the parameters for filtering the point cloud using a geometric feature.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object.
[out]FeatureGeometric feature used for filtering
[out]ThresholdThreshold for feature to remove points
[out]NumberNeighborsNumber of neighbors used to calculate geometric feature (if it is below 2, it will be calculated considering the number of points in cloud).
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_NOTPRESENT) if the filtering is not set to the Segmentor
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudSetPreprocessingFilterGeometricFeature, CVMAQS12SegmentorPointCloudGetPreprocessingResample, CVMAQS12SegmentorPointCloudGetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudGetClustering

◆ CVMAQS12SegmentorPointCloudGetPreprocessingResample()

cvbres_t CVMAQS12SegmentorPointCloudGetPreprocessingResample ( CVMAQS12SEGMENTOR3D  Segmentor,
size_t &  NumberVoxel 
)

Gets the parameters for resampling the point cloud.

The point cloud is downsized via an octree resampling. The parameter NumberVoxel specifies the approximate number of voxel (points) the resampled point should have. Note, that the real number of points can strongly deviate from this value depending on the distribution of the points in the cloud.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object.
[out]NumberVoxelDesired (approximate) number of voxel the resampled point cloud should have.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_NOTPRESENT) if the reampling is not set to the Segmentor
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudSetPreprocessingResample, CVMAQS12SegmentorPointCloudGetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudGetPreprocessingFilterGeometricFeature, CVMAQS12SegmentorPointCloudGetClustering

◆ CVMAQS12SegmentorPointCloudGetPreprocessingScaleXZ()

cvbres_t CVMAQS12SegmentorPointCloudGetPreprocessingScaleXZ ( CVMAQS12SEGMENTOR3D  Segmentor,
double &  FactorX,
double &  FactorZ 
)

Gets the parameters for scaling in x and z.

The proportions (X:Y:Z) of the point cloud will be FactorX:1:FactorZ after scaling.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object.
[out]FactorXWidth of point cloud relative to length.
[out]FactorZHeight of point cloud relative to length.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_NOTPRESENT) if the scaling is not set to the Segmentor
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudSetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudGetPreprocessingResample, CVMAQS12SegmentorPointCloudGetPreprocessingFilterGeometricFeature, CVMAQS12SegmentorPointCloudGetClustering

◆ CVMAQS12SegmentorPointCloudSetClustering()

cvbres_t CVMAQS12SegmentorPointCloudSetClustering ( CVMAQS12SEGMENTOR3D  Segmentor,
const CVMAQS12SEGMENTOR3DClustering Parameter 
)

Sets the parameters for clustering AQS12 points into 12 faces.

The faces of the AQS12 piece are clustered by a condition region growing clustering algorithm on point clouds. The points are grouped by similar normals.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object.
[in]ParameterParameters to configure clustering.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudGetClustering, CVMAQS12SegmentorPointCloudSetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudSetPreprocessingResample, CVMAQS12SegmentorPointCloudSetPreprocessingFilterGeometricFeature

◆ CVMAQS12SegmentorPointCloudSetPreprocessingFilterGeometricFeature()

cvbres_t CVMAQS12SegmentorPointCloudSetPreprocessingFilterGeometricFeature ( CVMAQS12SEGMENTOR3D  Segmentor,
const CVMAQS12SEGMENTOR3DFilterFeature Feature,
double  Threshold,
size_t  NumberNeighbors 
)

Sets the parameters for filtering the point cloud using a geometric feature.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object.
[in]FeatureGeometric feature used for filtering.
[in]ThresholdThreshold for feature to remove points (valid range is [0;1]).
[in]NumberNeighborsNumber of neighbors used to calculate geometric feature (if it is below 2, it will be calculated considering the number of points in cloud).
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
  • CVC_ERROR(CVC_E_Parameter) if Feature or Threshold is invalid
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudGetPreprocessingFilterGeometricFeature, CVMAQS12SegmentorPointCloudDisablePreprocessingFilterGeometricFeature, CVMAQS12SegmentorPointCloudSetPreprocessingResample, CVMAQS12SegmentorPointCloudSetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudSetClustering

◆ CVMAQS12SegmentorPointCloudSetPreprocessingResample()

cvbres_t CVMAQS12SegmentorPointCloudSetPreprocessingResample ( CVMAQS12SEGMENTOR3D  Segmentor,
size_t  NumberVoxel 
)

Sets the parameters for resampling the point cloud.

The point cloud is downsized via an octree resampling. The parameter NumberVoxel specifies the approximate number of voxel (points) the resampled point should have. Note, that the real number of points can strongly deviate from this value depending on the distribution of the points in the cloud.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object.
[in]NumberVoxelDesired (approximate) number of voxel the resampled point cloud should have.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
  • CVC_ERROR(CVC_E_Parameter) if NumberVoxel is invalid
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudGetPreprocessingResample, CVMAQS12SegmentorPointCloudDisablePreprocessingResample, CVMAQS12SegmentorPointCloudSetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudSetPreprocessingFilterGeometricFeature, CVMAQS12SegmentorPointCloudSetClustering

◆ CVMAQS12SegmentorPointCloudSetPreprocessingScaleXZ()

cvbres_t CVMAQS12SegmentorPointCloudSetPreprocessingScaleXZ ( CVMAQS12SEGMENTOR3D  Segmentor,
double  FactorX,
double  FactorZ 
)

Sets the parameters for scaling in x and z.

The proportions (X:Y:Z) of the point cloud will be FactorX:1:FactorZ after scaling.

Note
This function can only be used with an AQS12 segmentor for (sparse) point clouds applying the CVMSM_PointCloudNormalDeviationClustering segmentation method.
Since
Common Vision Blox 14.0
Parameters
[in]SegmentorSegmentor object.
[in]FactorXWidth of point cloud relative to length.
[in]FactorZHeight of point cloud relative to length.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for (sparse) point clouds
See also
CVMAQS12CreateSegmentorForPointCloud, CVMAQS12SegmentorPointCloudGetPreprocessingScaleXZ, CVMAQS12SegmentorPointCloudDisablePreprocessingScaleXZ, CVMAQS12SegmentorPointCloudSetPreprocessingResample, CVMAQS12SegmentorPointCloudSetPreprocessingFilterGeometricFeature, CVMAQS12SegmentorPointCloudSetClustering

◆ CVMAQS12SegmentorRangeMapGetIgnoreValue()

cvbres_t CVMAQS12SegmentorRangeMapGetIgnoreValue ( CVMAQS12SEGMENTOR2D  Segmentor,
double &  Value 
)

Gets range map ignore value of an AQS12 segmentor for range maps.

Since
Common Vision Blox 13.4
Parameters
[in]SegmentorSegmentor object
[out]ValueRange map values to be ignored during the segmentation.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for range maps
See also
CVMAQS12SegmentorRangeMapGetIgnoreValue, CVMAQS12CreateSegmentorForRangeMap

◆ CVMAQS12SegmentorRangeMapGetWindowSize()

cvbres_t CVMAQS12SegmentorRangeMapGetWindowSize ( CVMAQS12SEGMENTOR2D  Segmentor,
cvbdim_t &  WindowSize 
)

Gets window size for calculation of normals (used for the classification of the AQS12 faces).

If WindowSize is set to zero, the window size will be calculated automatically.

Parameters
[in]SegmentorSegmentor object.
[out]WindowSizeSide length of squared window.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for range maps
See also
CVMAQS12SegmentorRangeMapSetWindowSize, CVMAQS12CreateSegmentorForRangeMap

◆ CVMAQS12SegmentorRangeMapSetIgnoreValue()

cvbres_t CVMAQS12SegmentorRangeMapSetIgnoreValue ( CVMAQS12SEGMENTOR2D  Segmentor,
double  Value 
)

Sets range map ignore value to AQS12 segmentor for range maps.

Since
Common Vision Blox 13.4
Parameters
[in]SegmentorSegmentor object to be modified
[in]ValueRange map values to be ignored during the segmentation.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for range maps
See also
CVMAQS12SegmentorRangeMapGetIgnoreValue, CVMAQS12CreateSegmentorForRangeMap

◆ CVMAQS12SegmentorRangeMapSetWindowSize()

cvbres_t CVMAQS12SegmentorRangeMapSetWindowSize ( CVMAQS12SEGMENTOR2D  Segmentor,
cvbdim_t  WindowSize 
)

Sets window size segmentor for calculation of normals (used for the classification of the AQS12 faces).

If WindowSize is set to zero, the window size will be calculated automatically. If it is an even number, it will be extended with one.

Parameters
[in]SegmentorRange map segmentor object to be modified.
[in]WindowSizeSide length of squared window.
Returns
  • CVC_ERROR(CVC_E_OK) on success
  • CVC_ERROR(CVC_E_WRONGOBJECT) if Segmentor is a nullptr or not a segmentor object for range maps
  • CVC_ERROR(CVC_E_PARAMETER) if WindowSize is negative
See also
CVMAQS12SegmentorRangeMapGetWindowSize, CVMAQS12CreateSegmentorForRangeMap