Extracts features from a checkerboard calibration plate image (the checkerboard calibration plate must follow the Cognex specifications).
Note that in the resulting feature correspondences, the image positions
(ImageX and ImageY
are in the root space ("@") of the input image,
and the physical positions
(PhysicalX and PhysicalY
are in Plate2D space (see the remarks section of CogCalibFeatureExtractorCheckerboardLabelModeConstants).
Namespace: Cognex.VisionPro.CalibFixAssembly: Cognex.VisionPro.CalibFixPlus (in Cognex.VisionPro.CalibFixPlus.dll) Version: 91.0.0.0
Syntax
Parameters
- image
- Type: Cognex.VisionPro ICogImage
The calibration image of the checkerboard calibration plate. Note that the checkerboard calibration plate must follow the Cognex specifications.
Return Value
Type: CogCalibFeatureExtractorResultThe result holding the extracted feature correspondences and symbol parsing information if computed.
Implements
ICogCalibFeatureExtractor Execute(ICogImage)Exceptions
| Exception | Condition |
|---|---|
| ArgumentNullException | If image is null. |
| CogImageNoPixelsException | If image is not allocated. |
| CogImageBadTypeException | If image is not a CogImage8Grey. |
| CogTransformNotLinearException | If the transform from "#" to "." in image is not a linear transform. |
| CogCalibFixDotCorrespondenceFailedException | If consistent labeling of the vertices could not be carried out. It may occur due to out-of-focus images or images with severe light gradient or very small checker size in images, etc. |
| CogCalibFixNoFiducialException | If LabelMode is UseFiducial and the expected fiducial feature is not found. |
| CogCalibFixDataMatrixNotFoundException | If LabelMode is UseDataMatrix or UseDataMatrixWithGridPitch, and no Data Matrix could be found in image. |
| CogCalibFixDataMatrixDecodeErrorException | If LabelMode is UseDataMatrix or UseDataMatrixWithGridPitch, and no Data Matrix code that was successfully found in image could be successfully decoded. |
| CogCalibFixDataMatrixParseErrorException | If LabelMode is UseDataMatrix or UseDataMatrixWithGridPitch, and no Data Matrix code in image that was successfully decoded could be successfully parsed. |
| CogCalibFixDataMatrixParseErrorException | If LabelMode is UseDataMatrixWithGridPitch, and one component of the grid pitch extracted from any Data Matrix code in image is less than or equal to zero. |
Remarks
- If LabelMode is neither UseDataMatrix nor UseDataMatrixWithGridPitch, SymbolParseResults in the returned result will be empty.
- If LabelMode is either UseDataMatrix or UseDataMatrixWithGridPitch, SymbolParseResults in the returned result will contain an element corresponding to each Data Matrix code that was successfully found, decoded and parsed by the tool.
- The current implementation of the tool stops searching for Data Matrix codes after any single Data Matrix code in the image is successfully found, decoded and parsed. As a result, the size of SymbolParseResults in the returned result will not be greater than one.
- If LabelMode is UseDataMatrixWithGridPitch, then each Data Matrix code on the calibration plate must encode the grid pitch in addition to the grid position. The value of grid pitch encoded in the Data Matrix code is used by the tool, PhysGridPitchX and PhysGridPitchY are ignored.
- If LabelMode is UseDataMatrix, then each Data Matrix code must encode the grid position and may optionally encode the grid pitch. The value of grid pitch encoded in the Data Matrix codes will not be used by the tool, but it will be stored in the returned result. The tool will use PhysGridPitchX and PhysGridPitchY.
- The size of checkers in the image must be at least 15x15 pixels. If Data Matrix codes are used as calibration fiducials the Data Matrix codes should have a minimum resolution of 4 pixels per module (ppm).
See Also