Classes | Functions
sal3d::AngularMetric Namespace Reference

Namespace for the Angular Metric Calibration Tool functions. More...

Classes

class  Config
 Configuration associated with a camera/laser set on angular scanning used to convert acquired data to 3D data. More...

Functions

Config calibrate (const RangeMap &rangeMap, const Metric::PatternSPPoints &points, float initialAngle, float angleStep, int left, int top, int right, int bottom, const LensDistortion::Model &dm, int filterlen=1)
 Calculates an angular metric calibration configuration using a range map of the angular pattern.
Config calibrate (const RangeMap &rangeMap, const Metric::PatternSPPoints &points, float initialAngle, float angleStep, const LensDistortion::Model &dm, int filterlen=1)
 Calculates an angular metric calibration configuration using an optically corrected range map of the angular pattern.
Config calibrate (const RangeMap &rangeMap, const Metric::PatternSPPoints &points, float initialAngle, float angleStep, int filterlen=1)
 Calculates an angular metric calibration configuration using a RangeMap map of the angular pattern.

Detailed Description

Namespace for the Angular Metric Calibration Tool functions.

The functions in this namespace require linking with angularmetric.lib (import library for angularmetric.dll).

The functions within this namespace provide the user with a method to calibrate a camera/laser system rotating along an axis. This tool allows to convert acquired RangeMap objects to COP objects with metric information and with the perspective distortion corrected.

Coding example

Following is an example that shows how to calibrate using a RangeMap from the angular calibration pattern, and use the configuration obtained to create a COP from the same RangeMap. The same calibration could be used to transform any RangeMap acquired with the same camera and laser set to a COP.

 // Please, keep in mind that the following points are only provided as
 // an example. The specific shape and size of the pattern should be
 // determined based on the characteristics of the acquired pieces.
 const PatternSPPoints points = { {{-30, 30},
                                  {-10, 60},
                                  {10, 60},
                                  {30, 30}},
                                  60 };
 const float initialAngle = -5.0f
 const float angleStep = 0.01f
 sal3d::AngularMetric::Config config =
     sal3d::AngularMetric::calibrate(patternRangeMap, points, initialAngle, angleStep);
 
 // Now we use the config obtained to create a COP.
 sal3d::COP cop(patternRangeMap, config, initialAngle, angleStep);
Note:
Notice that in the previous example we used the same initial angle and angle step on the COP constructor than on the angular metric calibration. However, this is not a restriction.