You are here: Start » Function Reference » Barcodes » RecognizeBarcode
RecognizeBarcode
Extracts information from a barcode located on the input image at a given position.
Header: | AVL.h |
---|
Syntax
void avl::RecognizeBarcode ( const avl::Image& inImage, const avl::Rectangle2D& inBarcodePosition, atl::Optional<const avl::CoordinateSystem2D&> inBarcodePositionAlignment, atl::Optional<avl::BarcodeFormat::Type> inBarcodeFormat, const int inScanCount, const int inScanWidth, const float inMinStrength, const float inSmoothingStdDev, atl::Conditional<atl::String>& outDecodedText, atl::Conditional<avl::BarcodeFormat::Type>& outBarcodeFormat, avl::Rectangle2D& outAlignedBarcodePosition, atl::Array<avl::Segment2D>& diagScheduledScanSegments )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inImage | const Image& | Input image | |||
inBarcodePosition | const Rectangle2D& | Position of the input image in which the barcode is located | |||
inBarcodePositionAlignment | Optional<const CoordinateSystem2D&> | NIL | Adjusts the barcode rectangle to the position of the inspected object | ||
inBarcodeFormat | Optional<BarcodeFormat::Type> | EAN13 | Format of the barcode | ||
inScanCount | const int | 1 - | 5 | Number of parallel scans run until first successful read | |
inScanWidth | const int | 1 - | 5 | Width of the single scan | |
inMinStrength | const float | 0.0 - | 5.0f | Minimal strength of an extracted edge | |
inSmoothingStdDev | const float | 0.0 - | 0.25f | Standard deviation of the gaussian smoothing applied to the profile extracted in each scan | |
outDecodedText | Conditional<String>& | Decoded barcode text or nothing if all of the scans failed | |||
outBarcodeFormat | Conditional<BarcodeFormat::Type>& | Decoded barcode format or nothing if all of the scans failed | |||
outAlignedBarcodePosition | Rectangle2D& | ||||
diagScheduledScanSegments | Array<Segment2D>& | Scheduled scan segments |
Hints
- Connect inImage with the output of your image acquisition filter.
- Select inBarcodeFormat 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.
Examples
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
Using a relative coordinate systems
For more information about local coordinate systems please refer to the following article.
See Also
- 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.
- DetectSingleBarcode – Determines the position of a single barcode on the input image.