You are here: Start » Function Reference » Datacodes » ReadSingleDataMatrix_Deprecated
![](../../img/icon/ReadDatamatrix.png)
ReadSingleDataMatrix_Deprecated
Detects and recognizes a single Data Matrix code.
Syntax
void avl::ReadSingleDataMatrix_Deprecated ( const avl::Image& inImage, atl::Optional<const avl::Rectangle2D&> inRoi, atl::Optional<const avl::CoordinateSystem2D&> inRoiAlignment, bool inAllowRectangular, avl::DataMatrixCodeType::Type inCodeType, atl::Optional<int> inCodeColumnCount, atl::Optional<int> inCodeRowCount, atl::Conditional<avl::DataMatrix>& outDataMatrix, atl::Optional<avl::Rectangle2D&> outAlignedRoi = atl::NIL, atl::Conditional<avl::Image>& diagValues )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inImage | const Image& | Input image | ||
![]() |
inRoi | Optional<const Rectangle2D&> | NIL | Range of pixels to be processed | |
![]() |
inRoiAlignment | Optional<const CoordinateSystem2D&> | NIL | Adjusts the region of interest to the position of the inspected object | |
![]() |
inAllowRectangular | bool | False | Enables detecting rectangular Data Matrices | |
![]() |
inCodeType | DataMatrixCodeType::Type | |||
![]() |
inCodeColumnCount | Optional<int> | 1 - 160 | NIL | Optional width of a Data Matrix |
![]() |
inCodeRowCount | Optional<int> | 1 - 160 | NIL | Optional height of a Data Matrix |
![]() |
outDataMatrix | Conditional<DataMatrix>& | |||
![]() |
outAlignedRoi | Optional<Rectangle2D&> | NIL | Input ROI after transformation (in the image coordinates) | |
![]() |
diagValues | Conditional<Image>& | Image of decoded Data Matrix used by the reading algorithm |
Description
This filter is a composition of DetectDataMatrices_Deprecated and RecognizeSingleDataMatrix_Deprecated filters.
Supported code types: ECC 200 and ECC 000-140.
Around datamatrix must be quiet zone. The minimum quiet zone is equal to the width of a module on all four sides. For applications with moderate to excessive reflected noise in close proximity to the symbol, a quiet zone of 2 to 4 module widths is recommended.
Hints
- Select an appropriate code type by setting inCodeType.
- Set inAllowRectangular if you expect to work also with non-square codes.
- Set inCodeColumnCount and inCodeRowCount to increase reliability and speed when dimensions of the codes are fixed.
- For low-quality images and codes composed of punched dots, use appropriate image preprocessing to assure highest reliability.
Examples
![]() DataMatrix on blurry image. |
![]() Low quality DataMatrix code. |
![]() DataMatrix on chip. |
![]() Rectangular DataMatrix code. |
Remarks
For more information about local coordinate systems please refer to the following article.