zxing2 library

Classes

Binarizer
This class hierarchy provides a set of methods to convert luminance data to 1 bit data. It allows the algorithm to vary polymorphically, for example allowing a very expensive thresholding technique for servers and a fast one for mobile. It also permits the implementation to vary, e.g. a JNI version for Android and a Java fallback version for other platforms.
BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data. Reader objects accept a BinaryBitmap and attempt to decode it.
CharacterSetECI
Encapsulates a Character Set ECI, according to "Extended Channel Interpretations" 5.3.1.1 of ISO 18004.
DecodeHints
DecodeHintType<T>
Encapsulates a type of hint that a caller may pass to a barcode reader to help it more quickly or accurately decode it. It is up to implementations to decide what, if anything, to do with the information that is supplied.
GlobalHistogramBinarizer
This Binarizer implementation uses the old ZXing global histogram approach. It is suitable for low-end mobile devices which don't have enough CPU or memory to use a local thresholding algorithm. However, because it picks a global black point, it cannot handle difficult shadows and gradients.
HybridBinarizer
This class implements a local thresholding algorithm, which while slower than the GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for high frequency images of barcodes with black data on white backgrounds. For this application, it does a much better job than a global blackpoint with severe shadows and gradients. However it tends to produce artifacts on lower frequency images and is therefore not a good general purpose binarizer for uses outside ZXing.
InvertedLuminanceSource
A wrapper implementation of {@link LuminanceSource} which inverts the luminances it returns -- black becomes white and vice versa, and each value becomes (255-value).
LuminanceSource
The purpose of this class hierarchy is to abstract different bitmap implementations across platforms into a standard interface for requesting greyscale luminance values. The interface only provides immutable methods; therefore crop and rotation create copies. This is to ensure that one Reader does not modify the original luminance source and leave it in an unknown state for other Readers in the chain.
Reader
Implementations of this interface can decode an image of a barcode in some format into the String it encodes. For example, {@link com.google.zxing.qrcode.QRCodeReader} can decode a QR code. The decoder may optionally receive hints from the caller which may help it decode more quickly or accurately.
Result
Encapsulates the result of decoding a barcode within an image.
ResultPoint
Encapsulates a point of interest in an image containing a barcode. Typically, this would be the location of a finder pattern or the corner of the barcode, for example.
RGBLuminanceSource
This class is used to help decode images from files which arrive as RGB data from an ARGB pixel array. It does not support rotation.

Enums

BarcodeFormat
Enumerates barcode formats known to this package. Please keep alphabetized.
ResultMetadataType
Represents some type of metadata about the result of the decoding that the decoder wishes to communicate back to the caller.

Exceptions / Errors

ChecksumException
Thrown when a barcode was successfully detected and decoded, but was not returned because its checksum feature failed.
FormatReaderException
Thrown when a barcode was successfully detected, but some aspect of the content did not conform to the barcode's format rules. This could have been due to a mis-detection.
NotFoundException
Thrown when a barcode was not found in the image. It might have been partially detected but could not be confirmed.
ReaderException
The general exception class throw when something goes wrong during decoding of a barcode. This includes, but is not limited to, failing checksums / error correction algorithms, being unable to locate finder timing patterns, and so on.