CVB++ 15.0
c_metric.h
1#pragma once
2
3#if defined __GNUC__ && !defined CVB_SHOW_WARNINGS
4#pragma GCC system_header
5#endif // __GNUC__
6
7#include <cstddef>
8#include <cstdint>
9
10#include "../namespace.hpp"
11
12#include "c_core_3d.h"
13
14namespace Cvb
15{
16
17CVB_BEGIN_INLINE_NS
18
19namespace CExports
20{
21
23typedef void* CVMAQS12CALCONFIG;
24typedef void* CVMAQS12SEGMENTOR2D;
25typedef void* CVMAQS12SEGMENTOR3D;
26
27enum CVMAQS12SegmentationMethod
28{
29 CVMSM_KmeansClustering = 1,
30};
31
32enum CVMPeakLocalizationMethod
33{
34 CVMPLM_Argmax = 1,
35 CVMPLM_CoG
36};
37
38enum CVMFIRFilter
39{
40 CVMFF_None = 1,
41 CVMFF_Mean
42};
43
44struct CVMLineExtractionParameters
45{
46 CVMPeakLocalizationMethod PeakType;
47 double ThresholdPeakDetection;
48 CVMFIRFilter FilterType;
49 int WindowSize;
50};
51
52enum CVMExtrinsicTransformationModel
53{
54 CVMETM_None = 0, // Extrinsic transformation will not be estimated.
55 CVMETM_AffineTransformation = 1, // Elements of affine matrix are estimated.
56 CVMETM_SpecificTransformationParameters = 2 // Transformation parameters like rotation, scale and shear are estimated (recommended).
57};
58
59CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateSegmentorForRangeMap, (CVMAQS12SegmentationMethod SegmentationMethod, CVMAQS12SEGMENTOR2D& Segmentor))
60CVB_DEF_CAPI(cvbres_t, CVMAQS12SegmentorRangeMapSetIgnoreValue, (CVMAQS12SEGMENTOR2D Segmentor, double Value))
61CVB_DEF_CAPI(cvbres_t, CVMAQS12SegmentorRangeMapGetIgnoreValue, (CVMAQS12SEGMENTOR2D Segmentor, double& Value))
62CVB_DEF_CAPI(cvbres_t, CVMAQS12SegmentorRangeMapSetWindowSize, (CVMAQS12SEGMENTOR2D Segmentor, cvbdim_t WindowSize))
63CVB_DEF_CAPI(cvbres_t, CVMAQS12SegmentorRangeMapGetWindowSize, (CVMAQS12SEGMENTOR2D Segmentor, cvbdim_t& WindowSize))
64
65CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateSegmentorForDensePointCloud, (CVMAQS12SegmentationMethod SegmentationMethod, CVMAQS12SEGMENTOR3D& Segmentor))
66CVB_DEF_CAPI(cvbres_t, CVMAQS12SegmentorDensePointCloudSetWindowSize, (CVMAQS12SEGMENTOR3D Segmentor, cvbdim_t WindowSize))
67CVB_DEF_CAPI(cvbres_t, CVMAQS12SegmentorDensePointCloudGetWindowSize, (CVMAQS12SEGMENTOR3D Segmentor, cvbdim_t& WindowSize))
68
69CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateFaceSegmentationImageFromRangeMap,
70 (IMG RangeMapImage,
71 cvbdim_t PlaneIndex,
72 CVMAQS12SEGMENTOR2D Segmentor,
73 IMG& LabelImage))
74 CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateFaceSegmentationImageFromRangeMapRect,
75 (IMG RangeMapImage,
76 cvbdim_t PlaneIndex,
77 cvbdim_t Left,
78 cvbdim_t Top,
79 cvbdim_t Right,
80 cvbdim_t Bottom,
81 CVMAQS12SEGMENTOR2D Segmentor,
82 IMG& LabelImage))
83 CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateFaceSegmentationImageFromDensePointCloud,
84 (CVCOMPOSITE DenseCloud,
85 CVMAQS12SEGMENTOR3D Segmentor,
86 IMG& LabelImage))
87 CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateFaceSegmentationImageFromDensePointCloudRect,
88 (CVCOMPOSITE DenseCloud,
89 cvbdim_t Left,
90 cvbdim_t Top,
91 cvbdim_t Right,
92 cvbdim_t Bottom,
93 CVMAQS12SEGMENTOR3D Segmentor,
94 IMG& LabelImage))
95
96 CVB_DEF_CAPI(cvbres_t, CVMAQS12ExtractProjectedPointsFromRangeMap,
97 (IMG RangeMapImage,
98 cvbdim_t PlaneIndex,
99 CVMAQS12SEGMENTOR2D Segmentor,
100 CVC3DPointD ExtractedPoints[12]))
101 CVB_DEF_CAPI(cvbres_t, CVMAQS12ExtractProjectedPointsFromRangeMapRect,
102 (IMG RangeMapImage,
103 cvbdim_t PlaneIndex,
104 cvbdim_t Left,
105 cvbdim_t Top,
106 cvbdim_t Right,
107 cvbdim_t Bottom,
108 CVMAQS12SEGMENTOR2D Segmentor,
109 CVC3DPointD ExtractedPoints[12]))
110 CVB_DEF_CAPI(cvbres_t, CVMAQS12ExtractProjectedPointsFromDensePointCloud,
111 (CVCOMPOSITE DenseCloud,
112 CVMAQS12SEGMENTOR3D Segmentor,
113 CVC3DPointD ExtractedPoints[12]))
114 CVB_DEF_CAPI(cvbres_t, CVMAQS12ExtractProjectedPointsFromDensePointCloudRect,
115 (CVCOMPOSITE DenseCloud,
116 cvbdim_t Left,
117 cvbdim_t Top,
118 cvbdim_t Right,
119 cvbdim_t Bottom,
120 CVMAQS12SEGMENTOR3D Segmentor,
121 CVC3DPointD ExtractedPoints[12]))
122
123 CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateInstrinsicCalConfig,
124 (const CVC3DPointD Points[12],
125 double TopBasePlaneDistance,
126 CVMAQS12CALCONFIG& InstrinsicCalibrationConfiguration))
127 CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateExtrinsicCalConfig, (const CVC3DPointD Points[12], double TopBasePlaneDistance, CVMAQS12CALCONFIG& CalibrationConfiguration))
128 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalConfigSetCalculateHomography, (CVMAQS12CALCONFIG CalibrationConfiguration, cvbbool_t CalculateHomography))
129 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalConfigGetCalculateHomography, (CVMAQS12CALCONFIG CalibrationConfiguration, cvbbool_t& CalculateHomography))
130 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalConfigSetExtrinsicTransformationModel, (CVMAQS12CALCONFIG CalibrationConfiguration, CVMExtrinsicTransformationModel Model))
131 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalConfigGetExtrinsicTransformationModel, (CVMAQS12CALCONFIG CalibrationConfiguration, CVMExtrinsicTransformationModel& Model))
132 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalConfigSetCalculateEncoderStep, (CVMAQS12CALCONFIG CalibrationConfiguration, cvbbool_t CalculateEncoderStep))
133 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalConfigGetCalculateEncoderStep, (CVMAQS12CALCONFIG CalibrationConfiguration, cvbbool_t& CalculateEncoderStep))
134
135 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalConfigGetPointsAndTopBasePlaneDistance, // NOLINT(cppcoreguidelines-pro-bounds-array-to-pointer-decay)
136 (CVMAQS12CALCONFIG CalibrationConfiguration,
137 CVC3DPointD Points[12],
138 double& TopBasePlaneDistance))
139
140 CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateIntrinsicCalibratorFromPiece,
141 (IMG RangeMapImage,
142 cvbdim_t PlaneIndex,
143 CVMAQS12SEGMENTOR2D Segmentor,
144 CVMAQS12CALCONFIG CalConfig,
145 CVC3DCALIBRATOR& Calibrator,
146 CVC3DPointD Residuals[12]))
147 CVB_DEF_CAPI(cvbres_t, CVMAQS12CreateIntrinsicCalibratorFromPieceRect,
148 (IMG RangeMapImage,
149 cvbdim_t PlaneIndex,
150 cvbdim_t Left,
151 cvbdim_t Top,
152 cvbdim_t Right,
153 cvbdim_t Bottom,
154 CVMAQS12SEGMENTOR2D Segmentor,
155 CVMAQS12CALCONFIG CalConfig,
156 CVC3DCALIBRATOR& Calibrator,
157 CVC3DPointD Residuals[12]))
158
159 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalculateCorrectionOfLaserPlaneInclinationWithParamsFromPiece, (CVCOMPOSITE DenseCloud, CVMAQS12SEGMENTOR3D Segmentor, CVMAQS12CALCONFIG CalConfig, CVC3DTransformation& TransformationLaserPlaneInclination, CVC3DAffineTransformationParameters& TransformationParameters, CVC3DPointD Residuals[12]))
160 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalculateCorrectionOfLaserPlaneInclinationWithParamsFromPieceRect, (CVCOMPOSITE DenseCloud, cvbdim_t Left, cvbdim_t Top, cvbdim_t Right, cvbdim_t Bottom, CVMAQS12SEGMENTOR3D Segmentor, CVMAQS12CALCONFIG CalConfig, CVC3DTransformation& TransformationLaserPlaneInclination, CVC3DAffineTransformationParameters& TransformationParameters, CVC3DPointD Residuals[12]))
161 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalculateRigidBodyTransformationWithParamsFromPiece, (CVCOMPOSITE DenseCloud, CVMAQS12SEGMENTOR3D Segmentor, const CVC3DPointD Points[12], double TopBasePlaneDistance, CVC3DTransformation& ExtrinsicTransformation, CVC3DAffineTransformationParameters& TransformationParameters, CVC3DPointD Residuals[12]))
162 CVB_DEF_CAPI(cvbres_t, CVMAQS12CalculateRigidBodyTransformationWithParamsFromPieceRect, (CVCOMPOSITE DenseCloud, cvbdim_t Left, cvbdim_t Top, cvbdim_t Right, cvbdim_t Bottom, CVMAQS12SEGMENTOR3D Segmentor, const CVC3DPointD Points[12], double TopBasePlaneDistance, CVC3DTransformation& ExtrinsicTransformation, CVC3DAffineTransformationParameters& TransformationParameters, CVC3DPointD Residuals[12]))
163 CVB_DEF_CAPI(cvbres_t, CVMCalculateRigidBodyTransformationWithParams, (const CVC3DPointD* ReferencePoints, const CVC3DPointD* MeasuredPoints, cvbdim_t PointsLength, CVC3DTransformation& Transformation, CVC3DAffineTransformationParameters& TransformationParameters, CVC3DPointD Residuals[12]))
164 CVB_DEF_CAPI(cvbres_t, CVMCalculateCorrectionOfLaserPlaneInclinationWithParams, (const CVC3DPointD* ReferencePoints, const CVC3DPointD* MeasuredPoints, cvbdim_t PointsLength, CVMExtrinsicTransformationModel Model, cvbbool_t CalculateEncoderStep, CVC3DTransformation& Transformation, CVC3DAffineTransformationParameters& TransformationParameters, CVC3DPointD Residuals[12]))
165
166CVB_DEF_CAPI(cvbres_t, CVMCalculateAffineTransformation,
167 (const CVC3DPointD* ReferencePoints,
168 const CVC3DPointD* MeasuredPoints,
169 cvbdim_t PointsLength,
170 CVC3DTransformation& Transformation))
171
172
173CVB_DEF_CAPI(cvbres_t, CVMExtractLaserLineFromMonoImage,
174 (IMG MonoImage, const CVMLineExtractionParameters& Params,
175 int LineOut, IMG RangeMapImage, IMG IntensityImage))
176
177
178}
179
180CVB_END_INLINE_NS
181
182}
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17