Modules
Structs
A simple, fast array of bits, represented compactly by an array of ints internally.
Represents a 2D matrix of bits. In function arguments below, and throughout the common
This provides an easy abstraction to read bits at a time from a sequence of bytes, where the
- Class that lets one easily build an array of bytes by appending bits at a time.
Encapsulates the result of decoding a matrix of bits. This typically
- @author Sean Owen
- Set of CharsetEncoders for a given input string
- Class that converts a sequence of ECIs and bytes into a string
- 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.
- 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.
- Class that converts a character string into a sequence of ECIs and bytes
This class implements a perspective transform in two dimensions. Given four source and four
- Common string-related functions.
Enums
- Encapsulates a Character Set ECI, according to “Extended Channel Interpretations” 5.3.1.1 of ISO 18004.
Constants
Statics
Traits
Encapsulates the result of detecting a barcode in an image. This includes the raw
- Interface to navigate a sequence of ECIs and bytes.
- Implementations of this class can, given locations of finder patterns for a QR code in an image, sample the right points in the image to reconstruct the QR code, accounting for perspective distortion. It is abstracted since it is relatively expensive and should be allowed to take advantage of platform-specific optimized implementations, like Sun’s Java Advanced Imaging library, but which may not be available in other environments such as J2ME, and vice versa.