Back to Adaptive Vision Library website

You are here: Start » Function Reference » Datacodes » ReadSingleDataMatrix_Deprecated

ReadSingleDataMatrix_Deprecated


Header:AVL.h
Namespace:avl

Detects and recognizes a single Data Matrix code.

Syntax

C++
 
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

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outAlignedRoi.

Read more about Optional Outputs.

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

Read more about Local Coordinate Systems in Machine Vision Guide: Local Coordinate Systems.

See Also