You are here: Start » AVL.NET » AVL.ReadMultipleBarcodes(AvlNet.Image, AvlNet.Rectangle2D?, AvlNet.CoordinateSystem2D?, AvlNet.BarcodeFormat?, float, int, int, int, int, float, float, AvlNet.Rectangle2D[], string[], AvlNet.BarcodeFormat[], AvlNet.Rectangle2D, AvlNet.Image, AvlNet.Rectangle2D[], AvlNet.Segment2D[][])
AVL.ReadMultipleBarcodes(AvlNet.Image, AvlNet.Rectangle2D?, AvlNet.CoordinateSystem2D?, AvlNet.BarcodeFormat?, float, int, int, int, int, float, float, AvlNet.Rectangle2D[], string[], AvlNet.BarcodeFormat[], AvlNet.Rectangle2D, AvlNet.Image, AvlNet.Rectangle2D[], AvlNet.Segment2D[][])
| Namespace: | AvlNet |
|---|---|
| Assembly: | AVL.NET.dll |
Syntax
public static void ReadMultipleBarcodes( AvlNet.Image inImage, AvlNet.Rectangle2D? inRoi, AvlNet.CoordinateSystem2D? inRoiAlignment, AvlNet.BarcodeFormat? inBarcodeFormat, float inMinGradientLength, int inBaseBarWidth, int inDetectionScanCount, int inReadingScanCount, int inScanWidth, float inMinStrength, float inSmoothingStdDev, out AvlNet.Rectangle2D[] outBarcodePositions, out string[] outDecodedTexts, out AvlNet.BarcodeFormat[] outBarcodeFormats, out AvlNet.Rectangle2D outAlignedRoi, out AvlNet.Image diagGradientImage, out AvlNet.Rectangle2D[] diagBarcodeCandidates, out AvlNet.Segment2D[][] diagScheduledScanSegments )
Parameters
- inImage
- Type: AvlNet.Image
- inRoi
- Type: System.Nullable<AvlNet.Rectangle2D>
- inRoiAlignment
- Type: System.Nullable<AvlNet.CoordinateSystem2D>
- inBarcodeFormat
- Type: System.Nullable<AvlNet.BarcodeFormat>
- inMinGradientLength
- Type: System.Single
- inBaseBarWidth
- Type: System.Int32
- inDetectionScanCount
- Type: System.Int32
- inReadingScanCount
- Type: System.Int32
- inScanWidth
- Type: System.Int32
- inMinStrength
- Type: System.Single
- inSmoothingStdDev
- Type: System.Single
- outBarcodePositions
- Type: AvlNet.Rectangle2D
- outDecodedTexts
- Type: System.String
- outBarcodeFormats
- Type: AvlNet.BarcodeFormat
- outAlignedRoi
- Type: AvlNet.Rectangle2D
- diagGradientImage
- Type: AvlNet.Image
- diagBarcodeCandidates
- Type: AvlNet.Rectangle2D
- diagScheduledScanSegments
- Type: AvlNet.Segment2D
Description
Examples
Rotated barcode. |
Low quality barcode printed on plastic foil. |
Barcode on package wrapped in plastic foil. |
Barcode on blurry image. |
Barcode on standard 330ml can. |
Barcode on reflective and wrapped surface. |
EAN-13 with add-on 2 used to indicate a book edition. |
EAN-13 with add-on 5 to give a suggestion for the price. |
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
For more information about local coordinate systems please refer to the following article.
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.
Hardware acceleration settings may be manipulated with Settings class.
