Determines the position of a single barcode on the input image.
|inFormat||BarcodeFormat*||Format of the barcode|
|inMinGradientLength||Real||0.0 -||Minimal gradient length of edge pixels used for detecting barcodes|
|inBaseBarWidth||Integer||1 -||Estimated width of the thinnest bar|
|inScanCount||Integer||1 -||Number of scan lines used in detecting barcode|
|inScanWidth||Integer||1 -||Width of the single scan|
|inMinStrength||Real||0.0 -||Minimal strength of an extracted edge|
|inSmoothingStdDev||Real||0.0 -||Standard deviation of the gaussian smoothing applied to the profile extracted in each scan|
|outBarcodePosition||Rectangle2D?||Position of the found barcode|
|outBarcodeCandidates||Rectangle2DArray||Places with high gradient values that are further investigated|
|diagGradientImage||Image||Image of gradient directions|
- Connect inImage with the output of your image acquisition filter.
- Select inFormat according to the type of codes you want to read. If you choose the wrong format, the codes will not be recognized. Setting its value to Auto can increase the computation time considerably. Furthermore, the Auto value causes detection of UPC-A codes as EAN-13 codes.
- If the image quality is low, increase inMinGradientLength or increase inSmoothingStdDev. The diagGradientImage output shows how this affects an intermediate image.
- If the image resolution is high, increase inBaseBarWidth or resize/downsample the input image.
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.
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
Using a relative coordinate systems
For more information about local coordinate systems please refer to the following article.
This operation supports automatic parallelization for multicore and multiprocessor systems.
This filter is available on Advanced Complexity Level.
This filter is member of DetectBarcodes filter group.
- DecodeBarcode – Translates an array of bar widths to sequence of digits or text in accordance to the selected barcode standard.
- DetectMultipleBarcodes – Determines the positions of multiple barcodes on the input image.
- RecognizeBarcode – Extracts information from a barcode located on the input image at a given position.