Namespace for metric calibration. More...
Namespaces | |
namespace | AQS12 |
Namespace specific to AQS12 calibration pieces. | |
namespace | LaserLineExtraction |
Namespace for functions and classes extracting lase lines from the Foundation package. | |
Classes | |
class | AQS12DensePointCloudSegmentor |
Segmentor object to configure face segmentation of AQS12 calibration piece on dense point clouds. More... | |
class | AQS12RangeMapSegmentor |
Segmentor object to configure face segmentation of AQS12 calibration piece on range maps. More... | |
class | CalibrationConfiguration |
Calibration configuration object. More... | |
class | DensePointCloudSegmentor |
Base class for segmentor object to configure and compute segmentation on dense point clouds. More... | |
class | RangeMapSegmentor |
Base class for segmentor object to configure and compute segmentation on range maps. More... | |
Typedefs | |
using | TransformationResult = std::tuple< AffineMatrix3D, Cvb::optional< std::vector< Point3D< double > > >, Cvb::optional< AffineTransformationParameters > > |
Result for calculating an extrinsic transformation. More... | |
using | RigidBodyTransformationResult = std::tuple< AffineMatrix3D, Cvb::optional< std::vector< Point3D< double > > >, AffineTransformationParameters > |
Result for calculating a rigid body transformation. More... | |
using | AQS12CalibratorResult = std::pair< LaserPlaneHomographyCalibrator3DPtr, std::array< Point3D< double >, 12 > > |
Result for calculating the calibrator based on the AQS12 calibration piece. More... | |
Enumerations | |
enum class | CalibrationPiece { AQS12 } |
Defines the calibration piece to use for face segmentation. More... | |
enum class | SegmentationMethod { KmeansClustering = CExports::CVMSM_KmeansClustering } |
Defines the segmentation method for labeling the faces of the calibration piece. More... | |
Functions | |
AffineMatrix3D | CalculateAffineTransformation (const std::vector< Point3D< double > > &referencePoints, const std::vector< Point3D< double > > &measuredPoints) |
Calculates an affine transformation. More... | |
TransformationResult | CalculateCorrectionOfLaserPlaneInclination (const std::vector< Point3D< double > > &referencePoints, const std::vector< Point3D< double > > &measuredPoints, CalibrationConfiguration::ExtrinsicCalibrationModel model=CalibrationConfiguration::ExtrinsicCalibrationModel::SpecificTransformationParameters, bool estimateEncoderStep=true, bool calculateResiduals=true) |
Calculates an extrinsic calibration and the correction for the laser plane inclination. More... | |
RigidBodyTransformationResult | CalculateRigidBodyTransformation (const std::vector< Point3D< double > > &referencePoints, const std::vector< Point3D< double > > &measuredPoints, bool calculateResiduals=true) |
Calculates a rigid body transformation. More... | |
AQS12CalibratorResult | CreateCalibratorFromAqs12Piece (const ImagePlane &imagePlane, const AQS12RangeMapSegmentor &segmentor, const CalibrationConfiguration &config) |
Calculates intrinsic and extrinsic calibration parameters from the given range map image of an AQS12 calibration piece and creates a new calibration object. More... | |
AQS12CalibratorResult | CreateCalibratorFromAqs12Piece (const ImagePlane &imagePlane, const AQS12RangeMapSegmentor &segmentor, const CalibrationConfiguration &config, Rect< int > aoi) |
Calculates intrinsic and extrinsic calibration parameters from the range map image of an AQS12 calibration piece on the given area of interest and creates a new calibration object. More... | |
TransformationResult | CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece (const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const CalibrationConfiguration &config) |
Calculates an extrinsic calibration and the correction for the laser plane inclination (affine transformation) from the given dense point cloud of an AQS12 calibration piece. More... | |
TransformationResult | CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece (const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const CalibrationConfiguration &config, Rect< int > aoi) |
Calculates an extrinsic calibration and the correction for the laser plane inclination (affine transformation) from the dense point cloud of an AQS12 calibration piece on the given area of interest. More... | |
RigidBodyTransformationResult | CalculateRigidBodyTransformationFromAqs12Piece (const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const AQS12Piece &aqs12) |
Calculates a rigid body transformation from a given dense point cloud of an AQS12 calibration piece. More... | |
RigidBodyTransformationResult | CalculateRigidBodyTransformationFromAqs12Piece (const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const AQS12Piece &aqs12, Cvb::Rect< int > aoi) |
Calculates a rigid body transformation from a dense point cloud of an AQS12 calibration piece on the given area of interest. More... | |
Namespace for metric calibration.
using AQS12CalibratorResult = std::pair<LaserPlaneHomographyCalibrator3DPtr, std::array<Point3D<double>, 12> > |
Result for calculating the calibrator based on the AQS12 calibration piece.
The first element returned is the calibrator, the second contains the residuals of the 12 AQS12 points.
using RigidBodyTransformationResult = std::tuple<AffineMatrix3D, Cvb::optional<std::vector<Point3D<double> >>, AffineTransformationParameters> |
Result for calculating a rigid body transformation.
The first element returned is the transformation (affine matrix and translation), the second contains optional residuals and the third contains transformation parameters.
using TransformationResult = std::tuple<AffineMatrix3D, Cvb::optional<std::vector<Point3D<double> >>, Cvb::optional<AffineTransformationParameters> > |
Result for calculating an extrinsic transformation.
The first element returned is the transformation (affine matrix and translation), the second contains optional residuals and the third contains optional transformation parameters.
|
strong |
|
strong |
|
inline |
Calculates an affine transformation.
This function estimates translation and the individual elements of an affine matrix. If you rather like to estimate the specific transformation parameters rotation, scale and shear (which is recommended for laser triangulation systems), please use function CalculateCorrectionOfLaserPlaneInclination instead.
[in] | referencePoints | Vector with reference points. |
[in] | measuredPoints | Vector with corresponding measured points. Note, that these points have to represent the same body as the reference points. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Calculates an extrinsic calibration and the correction for the laser plane inclination.
[in] | referencePoints | Vector with reference points. |
[in] | measuredPoints | Vector with corresponding measured points. Note, that these points have to represent the same body as the reference points. |
[in] | model | Extrinsic calibration model. |
[in] | estimateEncoderStep | True if encoder step (scale in Y) should be estimated. Note: If AffineTransformation is selected as extrinsic calibration model, the encoder step is always estimated. |
[in] | calculateResiduals | True if residuals should be calculated. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Calculates an extrinsic calibration and the correction for the laser plane inclination (affine transformation) from the given dense point cloud of an AQS12 calibration piece.
For this function, create an extrinsic calibration configuration object using CreateExtrinsic() and change the extrinsic calibration model if desired via SetExtrinsicCalibrationModel().
[in] | cloud | Dense point cloud. |
[in] | segmentor | AQS12 segmentor object for dense point clouds. |
[in] | config | Calibration configuration object. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Calculates an extrinsic calibration and the correction for the laser plane inclination (affine transformation) from the dense point cloud of an AQS12 calibration piece on the given area of interest.
For this function, create an extrinsic calibration configuration object using CreateExtrinsic() and change the extrinsic calibration model if desired via SetExtrinsicCalibrationModel().
[in] | cloud | Dense point cloud. |
[in] | segmentor | AQS12 segmentor object for dense point clouds. |
[in] | config | Calibration configuration object. |
[in] | aoi | Area of interest of projected xy plane. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Calculates a rigid body transformation.
[in] | referencePoints | Vector with reference points. |
[in] | measuredPoints | Vector with corresponding measured points. Note, that these points have to represent the same body as the reference points. |
[in] | calculateResiduals | True if residuals should be calculated. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Calculates a rigid body transformation from a given dense point cloud of an AQS12 calibration piece.
[in] | cloud | Dense point cloud. |
[in] | segmentor | AQS12 segmentor object for dense point clouds. |
[in] | aqs12 | AQS12 calibration piece. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Calculates a rigid body transformation from a dense point cloud of an AQS12 calibration piece on the given area of interest.
[in] | cloud | Dense point cloud. |
[in] | segmentor | AQS12 segmentor object for dense point clouds. |
[in] | aqs12 | AQS12 calibration piece. |
[in] | aoi | Area of interest of projected xy plane. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Calculates intrinsic and extrinsic calibration parameters from the given range map image of an AQS12 calibration piece and creates a new calibration object.
This function calculates homography and - if set in the calibration configuration object - an extrinsic calibration and the correction for the laser plane inclination (see also ExtrinsicCalibrationModel). Create an intrinsic calibration configuration object using Create() and change the extrinsic calibration model if desired via SetExtrinsicCalibrationModel(). The calibration parameters are saved to a newly created calibrator object.
[in] | imagePlane | Plane of range map image. |
[in] | segmentor | AQS12 segmentor object for range maps. |
[in] | config | Calibration configuration object. |
Any | exception derived from std::exception including CvbException. |
|
inline |
Calculates intrinsic and extrinsic calibration parameters from the range map image of an AQS12 calibration piece on the given area of interest and creates a new calibration object.
This function calculates homography and - if set in the calibration configuration object - an extrinsic calibration and the correction for the laser plane inclination (see also ExtrinsicCalibrationModel). Create an intrinsic calibration configuration object using Create() and change the extrinsic calibration model if desired via SetExtrinsicCalibrationModel(). The calibration parameters are saved to a newly created calibrator object.
[in] | imagePlane | Plane of range map image. |
[in] | segmentor | AQS12 segmentor object for range maps. |
[in] | config | Calibration configuration object. |
[in] | aoi | Area of interest. |
Any | exception derived from std::exception including CvbException. |