You are here: Start » AVL.NET » Function Reference » Computer Vision » Barcodes » AVL.ReadMultipleBarcodes

AVL.ReadMultipleBarcodes

Detects and recognizes multiple barcodes on the input image.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void ReadMultipleBarcodes
(
	AvlNet.Image inImage,
	NullableRef<AvlNet.ShapeRegion> inRoi,
	AvlNet.CoordinateSystem2D? inRoiAlignment,
	AvlNet.BarcodeParams inBarcodeParams,
	AvlNet.BarcodeDetectionParams inDetectionParams,
	int inMaxBarcodeCount,
	IList<AvlNet.Barcode> outBarcodes,
	NullableRef<List<AvlNet.Rectangle2D>> outBarcodeCandidates,
	NullableRef<AvlNet.ShapeRegion> outAlignedRoi
)

Parameters

Name Type Range Default Description
inImageAvlNet.ImageInput image.
inRoiAvlNet.NullableRef<AvlNet.ShapeRegion>Region of interest. Default value: atl::NIL.
inRoiAlignmentAvlNet.CoordinateSystem2D?Adjusts the region of interest to the position of the inspected object. Default value: atl::NIL.
inBarcodeParamsAvlNet.BarcodeParamsSpecification of barcodes that can be detected.
inDetectionParamsAvlNet.BarcodeDetectionParamsParameters of the barcode detection algorithm.
inMaxBarcodeCountint<1, INF>2Maximum number of barcodes in one image. Default value: 2.
outBarcodesSystem.Collections.Generic.IList<AvlNet.Barcode>List of barcodes that have been correctly detected and decoded.
outBarcodeCandidatesAvlNet.NullableRef<System.Collections.Generic.List<AvlNet.Rectangle2D>>Places with high gradient values that are further investigated. Can be null to skip this parameter calculation.
outAlignedRoiAvlNet.NullableRef<AvlNet.ShapeRegion>Input ROI after transformation (in the image coordinates). Can be null to skip this parameter calculation.

Description

This filter detects barcodes present in the input image and reads their content.

Examples

Two barcodes in a good quality image.

Two barcodes in a blurry image.

Remarks

Minimal bar width requirement

To provide precise detection of the barcode width of the thinnest bar should be at least 1.5 pixels.

Depending on the barcode format guard or start/end code patterns must be readable.

Pharmacode usage

The pharmacode barcode type can be read correctly in both directions. To get results from both directions use a Pharmacode and PharmacodeInversed barcode types.

Before decoding a Pharmacode the code orientation angle is normalized to a range from -45° to 135° what makes the code decoding more stable

Results of reading using a different Pharmacode directions: Pharmacode = 23 and PharmacodeInversed = 16.

Using a relative coordinate systems

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

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Hardware acceleration settings may be manipulated with Settings class.

Function Overrides

See also