ZxBarcodeRead Method (ImagePlane, ZxBarcodeBinarizationMode, ZxBarcodeThoroughness, ZxBarcodeSymbology)

CVB.Net Documentation
Read a bar code in an image. Unlike its counterpart, ReadMultiple(ImagePlane, Rect, ZxBarcodeBinarizationMode, ZxBarcodeThoroughness, ZxBarcodeSymbology), this function only reads one code. For an image with more than one code of the selected symbology it is undefined which code will be returned.

Namespace:  Stemmer.Cvb.Foundation
Assembly:  Stemmer.Cvb.Foundation (in Stemmer.Cvb.Foundation.dll) Version: 14.0.0.0
Syntax

public static ZxBarcodeReadResult Read(
	ImagePlane plane,
	ZxBarcodeBinarizationMode binarization,
	ZxBarcodeThoroughness thoroughness,
	ZxBarcodeSymbology formatsToLookFor
)

Parameters

plane
Type: Stemmer.CvbImagePlane
Input plane to work on. The plane needs to have 8 bits per pixel, otherwise an error will be returned. Note that ZXing Barcode can only process luminance information. If the input image uses a color format, either select a suitable plane or convert it to luminance information before processing it in ZXBarcode.
binarization
Type: Stemmer.Cvb.FoundationZxBarcodeBinarizationMode
Selects the binarization algorithm to use. see ZxBarcodeBinarizationMode for eligible values.
thoroughness
Type: Stemmer.Cvb.FoundationZxBarcodeThoroughness
Thoroughness to be applied when searching for codes. See ZxBarcodeThoroughness for possible values.
formatsToLookFor
Type: Stemmer.Cvb.FoundationZxBarcodeSymbology
Flags that provide a hint at what barcode formats are to be expected in the image. This hint does not limit the reading of codes - if the hint points toward e.g. Code 128 and/or QR codes and the image contains a DataMatrix code, the code will be read nevertheless. However, providing the reader with the information what code(s) might be visible in the image may speed up reading slightly. This value can be a combination of the flags in the ZxBarcodeSymbology enumeration if more than one symbology is to be expected (remember, however, that even if multiple symbologies were specified, this function will still read one code; for reading multiple codes please use ReadMultiple(ImagePlane, Rect, ZxBarcodeBinarizationMode, ZxBarcodeThoroughness, ZxBarcodeSymbology).

Return Value

Type: ZxBarcodeReadResult
Single read result if a code has been read successfully, otherwise
null
.
Exceptions

ExceptionCondition
ObjectDisposedExceptionif the image to which the input plane belongs has already been disposed
CvbExceptionif the input plane does not have 8 bits per pixel unsigned integer format or if the aoi is invalid.
Remarks

Please note that this function is not guaranteed to be thread-safe and we strongly advise against calling it simultaneously from different threads.

When calling this function without a valid Common Vision Blox Foundation Package license, the results returned by the function call will be partly garbled: Any '0' in the result will be replaced by a '5' and any 'e' or 'E' will be replaced by an 'x' or 'X' respectively.

This function uses the zxing-cpp library (see https://github.com/glassechidna/zxing-cpp). zxing-cpp is a fork of the zxing project and is published under the Apache v2.0 license which requires applications and libraries that make use of this function to declare in their license information that they are using the zxing-cpp library. This may be done e.g. by adding a link to the zxing-cpp project page and the Apache v2.0 license terms (https://github.com/glassechidna/zxing-cpp/blob/master/COPYING) e.g. to a "Help" or "About" screen. In Common Vision Blox the respective links have been added to the document \a OpenSourceLicenses.chm.

See Also

Reference