Startseite » Allgemein » Code Reader Verifier tools – 4State, GS1, EAN14 and EAN 128 Codes are new in Matrox Imaging Library MIL Code Reader Verifier Module

Code Reader Verifier tools – 4State, GS1, EAN14 and EAN 128 Codes are new in Matrox Imaging Library MIL Code Reader Verifier Module

Machine-readable representations of data are vital in today?s industrialized world. Various encoding techniques are used to store valuable information that can be automatically decoded by a machine equipped with specialized hardware or software. Where older technologies made use of mechanical means such as pins and holes or grooves to store data, contemporary technologies rely on electrical, magnetic, chemical and optical techniques. The most common machine-readable representation of data is the barcode. Barcodes, still widely used today, encode data with vertical bars and spacing of different widths. Barcodes are referred to as one-dimensional or 1D codes. Other types of symbologies represent data in patterns of squares, hexagons or dots that are arranged in two-dimensional patterns; such codes are referred to as 2D codes.
The code tool within Matrox Imaging software can read and write various 1D and 2D code types and composites (codes that are a combination of specific 1D and 2D codes). The code module can also verify the quality of printed codes and offer feedback by assigning a quality grade in accordance with ISO/IEC standards.
Tips when reading a code
The code tool is optimized for reading in good quality images. That is, the tool can read a code of an unknown size the fastest when the code is easily located, is free of deformities, is not reversed (as in a mirror), and has good contrast to the background and low levels of noise. The tool?s default settings assume the image fits these criteria. For a read operation this means the number of processing steps is minimized and the decoding speed is maximized. In many cases, however, the images are less-than-perfect. If the tool cannot read a 1D or 2D code in an image with the default settings, you will have to make some adjustments to the context.
Things to consider if the code cannot be read:
Verify that the resolution is adequate.
Although the tool handles a cell size as small as 1 pixel, it is recommended to have a minimum cell size of at least 3 pixels.
(Figure 1)
Verify that the quiet zone is large enough. The quiet zone is the area that lies just outside the code where there are no marks. We recommend a quiet zone of at least one cell for 2D codes, and 12 cells for 1D codes.
Figure 2:
Verify if the code is reversed, i.e., it appears as if it is in a mirror. If this happens with a 1D code, enable the scan reverse option. For a 2D code, flip the image before calling the code reader module.
Figure 3:
For 2D code, verify if there are gaps between the cells or if they overlap. Adjust the dot spacing, if necessary. Specify a positive value if there is a space between the cells. Specify a negative value if the cells are overlapping.
Figure 4:
Again for 2D codes, enable the presearch option. This option uses the expected minimum and maximum cell size values to locate the code. If these values are not explicitly provided, it is assumed that the cell size is between 6 and 10. The values of the minimum and maximum cell size must be explicitly provided if the expected cell size lies outside that default range ? otherwise the presearch option may not work.
If the code cannot be located by the tool even with the presearch option enabled, try to locate it with a pre-processing step of your own. Then define a ROI around it before submitting it to the code reader.
First, try locating the code by means of a fiducial, if one is available. If not, try to erode the code (or dilate if the foreground is white) until a rectangle is formed; then perform a blob analysis and select candidate blobs based on their area and/or size and/or compactness and/or any other specific feature that can discriminate the code from its surroundings.
Lower the speed setting. This helps to increase the overall robustness of the decoding process.
Change the threshold mode if necessary. The default mode automatically identifies a threshold value based on the analysis of the histogram of the whole image. You can set the threshold to a specific value if the default is not suitable. If the lighting is not uniform and a single threshold value cannot be used, the threshold mode should be set to adaptive (i.e., M_ADAPTIVE) and a local threshold analysis will be performed.
Things to consider to speed-up the search:
– For 2D codes, provide the exact number of cells if it is known, otherwise specify the smallest range possible. If the cell number range does not indicate the code?s shape, specify whether the shape is square or rectangular.
– Set the angle if it is known, especially for 1D codes; searching within an angle range greater than 5 degrees considerably slows down the search process.
– If possible, set the cell size.
– If the foreground value can change or cannot be known before the read operation, set it to any foreground value (i.e., M_FOREGROUND_ANY).
Other tricks:
The code tool decodes multiple 1D codes with a single read operation, but decodes only one 2D code at a time. To read multiple 2D codes, look for a single occurrence first. Then mask it after it has been found and search again for another single occurrence. Repeat this process as needed.
Tips when verifying a code
– The code is located by a read operation before it is verified. If the read fails, the verification will not be performed.
– Adjust the minimum and maximum reflectance values from their default values of 0 and 255 if the contrast of a code will never fully cover this range because this contrast is also graded.
– The aperture size will also have an effect on the verify operation, so ensure the aperture mode and size values are adequate for your application. If the aperture setting is too small, the verify operation is hyper-sensitive and will find defects where there are none; too large and the verify operation could ignore real defects. By default, it is set relative to the minimum cell size according to the ISO 15416 specification.
Support for new code types
Included in MIL 9 Processing Pack 2 is support for new code types (e.g., 4-State, EAN128 and EAN14), histogram-based color matching for handling multi-color regions, an interactive utility for experimenting with the color analysis tools, and a number of basic image processing operators (top/bottom-hat filter, window leveling, cumulative histogram, binarization off cumulative histogram, correlation, flat-field correction, dead-pixel correction, etc.).
Link to Matrox Imaging Library Overview:
For more information please contact:
Johann-G.Gutenberg-Str. 20
D-82140 Olching
Phone +49 81 42 / 4 48 41-0
Fax +49 81 42 / 4 48 41-90

Posted by on 11. September 2010. Filed under Allgemein,Softwareindustrie. You can follow any responses to this entry through the RSS 2.0. You can leave a response or trackback to this entry

Sie müssen angemeldet sein um Kommentare zu schreiben Anmelden

Blogverzeichnis - Blog Verzeichnis Blog Top Liste - by Blogverzeichnis