|
cvbres_t | CVC3DATCalibratorGetSensorRoi (CVC3DCALIBRATOR Calibrator, cvbdim_t &OffsetLeft, cvbdim_t &OffsetTop, cvbdim_t &Width, cvbdim_t &Height) |
| Gets the current AT sensor ROI from the given Calibrator. More...
|
|
cvbres_t | CVC3DATCalibratorGetYFactor (CVC3DCALIBRATOR Calibrator, double &YFactor) |
| Gets the current YFactor from the given Calibrator. More...
|
|
cvbres_t | CVC3DATCalibratorGetZFactor (CVC3DCALIBRATOR Calibrator, double &ZFactor) |
| Gets the current ZFactor from the given Calibrator. More...
|
|
cvbres_t | CVC3DATCalibratorSetSensorRoi (CVC3DCALIBRATOR Calibrator, cvbdim_t OffsetLeft, cvbdim_t OffsetTop, cvbdim_t Width, cvbdim_t Height) |
| Sets the sensor ROI to an AT Calibrator. More...
|
|
cvbres_t | CVC3DATCalibratorSetYFactor (CVC3DCALIBRATOR Calibrator, double YFactor) |
| Sets the YFactor to the given AT Calibrator. More...
|
|
cvbres_t | CVC3DATCalibratorSetZFactor (CVC3DCALIBRATOR Calibrator, double ZFactor) |
| Sets the ZFactor to the given AT Calibrator. More...
|
|
cvbres_t | CVC3DCalibratorGetExtrinsicMatrix (CVC3DCALIBRATOR Calibrator, CVC3DTransformation &Transformation) |
| Gets the extrinsic transformation matrix of the Calibrator. More...
|
|
cvbres_t | CVC3DCalibratorGetRangeMapIgnoreValue (CVC3DCALIBRATOR Calibrator, double &Value) |
| Gets the current ignore Value in a range map from the given Calibrator. More...
|
|
cvbres_t | CVC3DCalibratorGetSensorRoi (CVC3DCALIBRATOR Calibrator, cvbdim_t &OffsetLeft, cvbdim_t &OffsetTop, cvbdim_t &Width, cvbdim_t &Height) |
| Gets the current sensor ROI (region of interest) from the given Calibrator. More...
|
|
cvbres_t | CVC3DCalibratorGetSettings (CVC3DCALIBRATOR Calibrator, CVC3DSensorSettings &SensorSettings, double &EncoderStep) |
| Gets the default sensor settings from the given Calibrator. More...
|
|
cvbres_t | CVC3DCalibratorSetCorrectionOfLaserPlaneInclination (CVC3DCALIBRATOR Calibrator, const CVC3DTransformation &IntrinsicAffineMatrix) |
| Sets the correction of the laser plane inclination of to Calibrator described by an affine transformation matrix and a translation. More...
|
|
cvbres_t | CVC3DCalibratorSetExtrinsicMatrix (CVC3DCALIBRATOR Calibrator, const CVC3DTransformation &Transformation) |
| Sets the extrinsic transformation matrix of the Calibrator. More...
|
|
cvbres_t | CVC3DCalibratorSetRangeMapIgnoreValue (CVC3DCALIBRATOR Calibrator, double Value) |
| Sets a Value to ignore in a range map to the given Calibrator. More...
|
|
cvbres_t | CVC3DCalibratorSetSensorRoi (CVC3DCALIBRATOR Calibrator, cvbdim_t OffsetLeft, cvbdim_t OffsetTop, cvbdim_t Width, cvbdim_t Height) |
| Sets the current sensor ROI (region of interest) from the given Calibrator. More...
|
|
cvbres_t | CVC3DCreateCalibratedPointCloudFromRangeMap (OBJ RangeMapImage, CVC3DCALIBRATOR Calibrator, cvbval_t Flags, CVCOMPOSITE &PointCloud) |
| Creates a new calibrated Cartesian 3D PointCloud from the given 2½D RangeMapImage and Calibrator data. More...
|
|
cvbres_t | CVC3DCreateCalibratedPointCloudFromRangeMapWithSettings (OBJ RangeMapImage, CVC3DCALIBRATOR Calibrator, const CVC3DSensorSettings &SensorSettings, double EncoderStep, cvbval_t Flags, CVCOMPOSITE &PointCloud) |
| Creates a new calibrated Cartesian 3D PointCloud from the given 2½D RangeMapImage and Calibrator data considering sensor settings. More...
|
|
cvbres_t | CVC3DCreateFactorsCalibrator (CVC3DFactors Factors, CVC3DCALIBRATOR &Calibrator) |
| Creates a simple calibrator based on factors. More...
|
|
cvbres_t | CVC3DCreateMatrixHCalibrator (const CVC3DMatrixH M, CVC3DCALIBRATOR &Calibrator) |
| Creates a calibrator based on a general homography matrix M. More...
|
|
cvbres_t | CVC3DCreatePinholeCameraCalibrator (double Fx, double Fy, double Sz, double CPx, double CPy, CVC3DCALIBRATOR &Calibrator) |
| Creates a Calibrator object for reconstructing a range map via the pinhole camera model. More...
|
|
cvbres_t | CVC3DGetCalibratorType (CVC3DCALIBRATOR Calibrator, CVC3DCalibratorType &Type) |
| Gets the calibrator type. More...
|
|
cvbres_t | CVC3DLoadCalibrator (const char *FileName, CVC3DCALIBRATOR &Calibrator) |
| Loads a 3D calibration file (ASCII string version). More...
|
|
cvbres_t | CVC3DLoadCalibratorW (const wchar_t *FileName, CVC3DCALIBRATOR &Calibrator) |
| Loads a 3D calibration file (Unicode string version). More...
|
|
Creates a new calibrated Cartesian 3D PointCloud from the given 2½D RangeMapImage and Calibrator data.
This function simply accesses the first plane of the given RangeMapImage and interprets the pixel data as depth information (z). The resulting point cloud will have at most ImageWidth(RangeMapImage) * ImageHeight(RangeMapImage) points. Each of these generated points will be passed through the Calibrator object.
The following BytesPerPixel as input for signed and unsigned integer cvbdatatype_t values are supported: 1, 2, 4, and 8. For floating point cvbdatatype_t values only 4 and 8 BytesPerPixel are supported.
Depending on the calibration method the resulting point cloud is created via CVC3DCreateSparsePointCloud or CVC3DCreateDensePointCloud.
- Note
- This function does not take the RangeMapImage coordinate system into account. Note also, that if the output point cloud is dense, the confidence layer is always available. Background range map pixels are set non-confident. In case of a sparse point cloud, points representing background values and also the confidence layer are removed (except the user explicitly wants to keep the confidence layer which can be fixed via the point cloud flags).
- Attention
- If you are using an AT or ZigZag calibrator, the camera settings applied during the acquisition of the range map have to be known. Default settings are read from the calibrator loaded from a calibration file. If the actual settings differ from the default ones, the user has to set them and create the calibrated point cloud via function CVC3DCreateCalibratedPointCloudFromRangeMapWithSettings. You can get and check the default settings with CVC3DCalibratorGetSettings.
- If this function returns successfully you need to release the returned PointCloud via ReleaseObject if not needed anymore.
- Parameters
-
[in] | RangeMapImage | Handle of 2½D image. |
[in] | Calibrator | Calibration object to apply. |
[in] | Flags | Flags CVC3DPointCloudFlags specifying the kind of point cloud to be created. |
[out] | PointCloud | Variable to receive the handle of the point cloud object as a CVCOMPOSITE. |
- Returns
- #CVC_ERROR (#CVC_E_OK) on success
- #CVC_ERROR (#CVC_E_PARAMETER) if Flags have unknown combination.
- #CVC_ERROR (#CVC_E_WRONGOBJECT) if RangeMapImage is neither a IImageVPA nor IPlaneEnum object or if Calibrator object is invalid.
- #CVC_ERROR (#CVC_E_MEMORY) if not enough memory was available to create the point cloud.
- See also
- CVC3DCreateCalibratedPointCloudFromRangeMapWithSettings, CVC3DCreateDensePointCloudFromRangeMap, CVC3DCreateRangeMapFromPointCloud
Creates a new calibrated Cartesian 3D PointCloud from the given 2½D RangeMapImage and Calibrator data considering sensor settings.
Note, that the calibration parameters always refer to the whole sensor (with no mirroring of the pixel coordinates). If the camera settings indicate, that a sensor ROI is given or pixel coordinates are mirrored, the range map values will be transformed to the sensor coordinates before applying the calibration parameters. If the user acquires the range map to be calibrated and uses sensor settings different from the default ones, he has to set them correctly via this function.
If you only like to change one or two settings and do not want to care about the other parameters, you can get the default settings via function CVC3DCalibratorGetSettings, change the relevant settings within the struct and pass it to CVC3DCreateCalibratedPointCloudFromRangeMapWithSettings.
If you have not changed your camera settings, please use function CVC3DCreateCalibratedPointCloudFromRangeMap. A detailed documentation about the point cloud creation can also be found there.
For a detailed description of the sensor settings for specific cameras see the CVB online help chapter "Theory of Operation -> Image Manager ->
CVB Technology -> 3D Functionality -> Create Point Cloud from Range Map ->
Create calibrated point cloud with modified sensor settings".
- Note
- This function only works for AT and ZigZag calibrators. To check your calibrator type, use function CVC3DGetCalibratorType.
- If this function returns successfully you need to release the returned PointCloud via ReleaseObject if not needed anymore.
- Parameters
-
[in] | RangeMapImage | Handle of 2½D image. |
[in] | Calibrator | Calibration object to apply. |
[in] | SensorSettings | Sensor settings CVC3DSensorSettings set aquiring RangeMapImage. |
[in] | EncoderStep | Encoder step. |
[in] | Flags | Flags CVC3DPointCloudFlags specifying the kind of point cloud to be created. |
[out] | PointCloud | Variable to receive the handle of the point cloud object as a CVCOMPOSITE. |
- Returns
- #CVC_ERROR (#CVC_E_OK) on success
- #CVC_ERROR (#CVC_E_PARAMETER) if Flags have unknown combination.
- #CVC_ERROR (#CVC_E_WRONGOBJECT) if RangeMapImage is neither a IImageVPA nor IPlaneEnum object or if Calibrator object is neither an AT Calibrator or ZigZag Calibrator or invalid.
- #CVC_ERROR (#CVC_E_MEMORY) if not enough memory was available to create the point cloud.
- See also
- CVC3DCreateRangeMapFromPointCloud, CVC3DCalibratorGetSettings