public final class Decoder
extends java.lang.Object
The main class which implements Data Matrix Code decoding -- as opposed to locating and extracting the Data Matrix Code from an image.
Modifier and Type | Field and Description |
---|---|
private ReedSolomonDecoder |
rsDecoder |
Constructor and Description |
---|
Decoder() |
Modifier and Type | Method and Description |
---|---|
private int |
correctErrors(byte[] codewordBytes,
int numDataCodewords)
Given data and error-correction codewords received, possibly corrupted by errors, attempts to
correct the errors in-place using Reed-Solomon error correction.
|
DecoderResult |
decode(BitMatrix bits)
Decodes a Data Matrix Code represented as a
BitMatrix . |
DecoderResult |
decode(boolean[][] image)
Convenience method that can decode a Data Matrix Code represented as a 2D array of booleans.
|
private final ReedSolomonDecoder rsDecoder
public DecoderResult decode(boolean[][] image) throws FormatException, ChecksumException
Convenience method that can decode a Data Matrix Code represented as a 2D array of booleans. "true" is taken to mean a black module.
image
- booleans representing white/black Data Matrix Code modulesFormatException
- if the Data Matrix Code cannot be decodedChecksumException
- if error correction failspublic DecoderResult decode(BitMatrix bits) throws FormatException, ChecksumException
Decodes a Data Matrix Code represented as a BitMatrix
. A 1 or "true" is taken
to mean a black module.
bits
- booleans representing white/black Data Matrix Code modulesFormatException
- if the Data Matrix Code cannot be decodedChecksumException
- if error correction failsprivate int correctErrors(byte[] codewordBytes, int numDataCodewords) throws ChecksumException
Given data and error-correction codewords received, possibly corrupted by errors, attempts to correct the errors in-place using Reed-Solomon error correction.
codewordBytes
- data and error correction codewordsnumDataCodewords
- number of codewords that are data bytesChecksumException
- if error correction fails