3#include "../calibrator_3d.hpp"
6#include "_decl/decl_metric_calibration_configuration.hpp"
7#include "_decl/decl_metric_segmentor_dense_point_cloud_aqs12.hpp"
8#include "_decl/decl_metric_segmentor_range_map_aqs12.hpp"
9#include "_detail/detail_metric_segmentor.hpp"
72 result.first = std::dynamic_pointer_cast<LaserPlaneHomographyCalibrator3D>(Internal::DoResCallShareOut<Calibrator3D>([&](
void*& handle) {
74 CVMAQS12CreateIntrinsicCalibratorFromPiece(
80 reinterpret_cast<CExports::CVC3DPointD*
>(result.second.data())));
106result.first = std::dynamic_pointer_cast<LaserPlaneHomographyCalibrator3D>(Internal::DoResCallShareOut<Calibrator3D>([&](
void*& handle) {
107 return CVB_CALL_CAPI(
108 CVMAQS12CreateIntrinsicCalibratorFromPieceRect(
118 reinterpret_cast<CExports::CVC3DPointD*
>(result.second.data())));
138 Internal::DoResCall([&]() {
139 return CVB_CALL_CAPI(
140 CVMAQS12CalculateCorrectionOfLaserPlaneInclinationFromPiece(
144 *
reinterpret_cast<CExports::CVC3DTransformation*
>(&result.first),
145 reinterpret_cast<CExports::CVC3DPointD*
>(result.second.data())));
166 Internal::DoResCall([&]() {
167 return CVB_CALL_CAPI(
168 CVMAQS12CalculateCorrectionOfLaserPlaneInclinationFromPieceRect(
176 *
reinterpret_cast<CExports::CVC3DTransformation*
>(&result.first),
177 reinterpret_cast<CExports::CVC3DPointD*
>(result.second.data())));
197 Internal::DoResCall([&]() {
198 return CVB_CALL_CAPI(
199 CVMAQS12CalculateRigidBodyTransformationFromPiece(
202 reinterpret_cast<const CExports::CVC3DPointD*
>(aqs12.
Points().data()),
204 *
reinterpret_cast<CExports::CVC3DTransformation*
>(&result.first),
205 reinterpret_cast<CExports::CVC3DPointD*
>(result.second.data())));
226 Internal::DoResCall([&]() {
227 return CVB_CALL_CAPI(
228 CVMAQS12CalculateRigidBodyTransformationFromPieceRect(
235 reinterpret_cast<const CExports::CVC3DPointD*
>(aqs12.
Points().data()),
237 *
reinterpret_cast<CExports::CVC3DTransformation*
>(&result.first),
238 reinterpret_cast<CExports::CVC3DPointD*
>(result.second.data())));
A dense Cartesian 3D point cloud object.
Definition: decl_dense_point_cloud.hpp:31
Object to collect all input parameters for the AQS12 calibration piece.
Definition: decl_metric_aqs12_calibration_piece.hpp:28
double TopBasePlaneDistance() const noexcept
Gets the distance between the top and base plane.
Definition: decl_metric_aqs12_calibration_piece.hpp:52
const std::array< Point3D< double >, 12 > & Points() const noexcept
Gets array with AQS12 points.
Definition: decl_metric_aqs12_calibration_piece.hpp:42
Segmentor object to configure face segmentation of AQS12 calibration piece on dense point clouds.
Definition: decl_metric_segmentor_dense_point_cloud_aqs12.hpp:20
Segmentor object to configure face segmentation of AQS12 calibration piece on range maps.
Definition: decl_metric_segmentor_range_map_aqs12.hpp:20
Calibration configuration object.
Definition: decl_metric_calibration_configuration.hpp:38
void * Handle() const noexcept
Returns C-API style handle to Node Object.
Definition: decl_metric_segmentor_dense_point_cloud.hpp:109
void * Handle() const noexcept
Returns C-API style handle to Node Object.
Definition: decl_metric_segmentor_range_map.hpp:117
Image plane information container.
Definition: decl_image_plane.hpp:33
void * Handle() const noexcept
Classic API image handle.
Definition: detail_image_plane.hpp:36
void * Handle() const noexcept
Returns C-API style handle to Node Object.
Definition: decl_point_cloud.hpp:767
std::pair< LaserPlaneHomographyCalibrator3DPtr, std::array< Point3D< double >, 12 > > AQS12CalibratorResult
Result for calculating the calibrator based on the AQS12 calibration piece.
Definition: metric_aqs12.hpp:33
AQS12TransformationResult CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece(const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const CalibrationConfiguration &config)
Calculates the correction of the laser plane inclination (affine transformation) from the given dense...
Definition: metric_aqs12.hpp:134
AQS12CalibratorResult CreateCalibratorFromAqs12Piece(const ImagePlane &imagePlane, const AQS12RangeMapSegmentor &segmentor, const CalibrationConfiguration &config)
Calculates intrinsic calibration parameters from the given range map image of an AQS12 calibration pi...
Definition: metric_aqs12.hpp:68
AQS12TransformationResult CalculateRigidBodyTransformationFromAqs12Piece(const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const AQS12Piece &aqs12)
Calculates the rigid body transformation from the given dense point cloud of an AQS12 calibration pie...
Definition: metric_aqs12.hpp:193
Root namespace for the Image Manager interface.
Definition: c_barcode.h:24