Using EasyBarCode

Symbologies

A symbology defines how a bar code is encoded using its bars and spaces.

In EasyBarCode, the following symbologies are enabled by default:

Code 128

Ean 8

Ean 13

GS1 128

Code 39

Code 39 Extended

Code 39 Reduced

Code 93

Code 93 Extended

GS1 DataBar Omnidirectional

GS1 DataBar Limited

GS1 DataBar Expanded

GS1 DataBar Omnidirectional Stacked

GS1 DataBar Expanded Stacked

The following symbologies are also supported:

ITF-14

Pharmacode (one track)

PDF417

Codabar

MSI

UPC A

UPC E

ADS Anker

BC412

Code 11

Code 13

Code 25 Datalogic

Code 25 Matrix

Code 25 Iata

Code 25 Industry

Code 25 Compressed

Code 25 Inverted

Code 25 Interleaved

Code 32

Code BCD Matrix

Code CIP

Code STK

IBM Delta Distance A

Plessey

Telepen

Binary Code

RSS14

RSS14 Limited

RSS14 Expanded

See also

A description of the properties and look of each symbology can be found here

To setup the symbologies to consider during the reading operation, use the following methods of the EBarCodeReader .NET Python class:

Checksum and Validation

The checksum of a bar code enables the reader to validate the bar code contents, most symbologies possess one, see the list.

See also

Refer to the following code snippet as an example: Reading a Bar Code Following a Given Symbology

Grading Bar Codes

To compute the print quality indicators as defined by the ISO 15416 standard:

  1. Set the EBarCodeReader::SetComputeGrading .NET Python to true.

  2. The print quality of the bar codes is computed during the EBarCodeReader::Read .NET Python operation.

  3. Retrieve the grades with the accessor EBarCode::GetGradingParameters .NET Python of the class EBarCode .NET Python.

    This will retrieve an EBarCodeGradingParameters .NET Python object.

  4. Retrieve the numeric grades (0 to 40) directly from the object.

  5. Use the method EBarCodeGradingParameters::ConvertToAlphabeticGrade .NET Python to convert the numeric grades to alphabetic grades (F to A).

Note

At the moment, grading is only supported for the Ean 13, Code 128 and GS1 128 symbologies. Don’t hesitate to contact the support if you need grading of other symbologies.

See also

Advanced Features

Contents of the EBarCode Object

When a bar code is read from an image, the EBarCode .NET Python object contains the following information:

Reading using an ERegion

../../../_images/reading_5.webp

Reading a bar code (green) with an ERegion (blue).

Reading using a Grid

If the codes in the images are arranged in a regular grid-like fashion:

See also

For an example, see Reading a Grid of Bar Codes

Reading of 4 bar codes arranged in a grid.

Using a Timeout

If you have a defined time constraint:

Specifying the Orientation of your Codes

For most symbologies, a pattern identifies whether the codes must be read from left to right or right to left.

This is however not the case for the Code STK, Binary Code and Pharmacode symbologies.

For these symbologies, you must know whether to decode the bar code from left to right or from right to left. Use the method EBarCodeReader::SetReadingOrientation .NET Python to specify it.

Learning from provided Images to Improve the Detection Performances

  • The learning automatically tunes the scales at which you try to find a bar code to best fit the set of images you gave it. The scales are modified to read the maximum number of codes depending on the parameters of the learn method.

  • EBarCodeReader::Learn .NET Python has two Boolean parameters:

    • keepDefaultScales indicates that the scales used by default should not be disabled by the learning (true by default).

    • addAllScales indicates that all the scales that allow to detect one code should be enabled (true by default).

  • Tips:

    • If you perform a learning on a few problematic images, set both parameters to true.

    • If you perform a learning on a representative set of problematic images, set keepDefaultScales to true and addAllScales to false.

    • If you perform a learning on a representative set of all the images you want to read, set both parameters to false.

    • The only benefit to set either of these parameters to false is the reading speed. In most cases, the impact should not be important, so you can leave them to true. When less than maxNumCodes are read in an image, the reader tries to find a code in all the scales enabled, which takes time. In that case, setting these parameters to false may have an important impact on the speed.

See also

For an example, see Learning a Bar Code

Correcting Errors