Package com.google.zxing.qrcode.decoder
Class Decoder
- java.lang.Object
-
- com.google.zxing.qrcode.decoder.Decoder
-
public final class Decoder extends java.lang.Object
The main class which implements QR Code decoding -- as opposed to locating and extracting the QR Code from an image.
-
-
Field Summary
Fields Modifier and Type Field Description private ReedSolomonDecoder
rsDecoder
-
Constructor Summary
Constructors Constructor Description Decoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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(boolean[][] image)
DecoderResult
decode(boolean[][] image, java.util.Map<DecodeHintType,?> hints)
Convenience method that can decode a QR Code represented as a 2D array of booleans.DecoderResult
decode(BitMatrix bits)
DecoderResult
decode(BitMatrix bits, java.util.Map<DecodeHintType,?> hints)
Decodes a QR Code represented as aBitMatrix
.private DecoderResult
decode(BitMatrixParser parser, java.util.Map<DecodeHintType,?> hints)
-
-
-
Field Detail
-
rsDecoder
private final ReedSolomonDecoder rsDecoder
-
-
Method Detail
-
decode
public DecoderResult decode(boolean[][] image) throws ChecksumException, FormatException
- Throws:
ChecksumException
FormatException
-
decode
public DecoderResult decode(boolean[][] image, java.util.Map<DecodeHintType,?> hints) throws ChecksumException, FormatException
Convenience method that can decode a QR Code represented as a 2D array of booleans. "true" is taken to mean a black module.
- Parameters:
image
- booleans representing white/black QR Code moduleshints
- decoding hints that should be used to influence decoding- Returns:
- text and bytes encoded within the QR Code
- Throws:
FormatException
- if the QR Code cannot be decodedChecksumException
- if error correction fails
-
decode
public DecoderResult decode(BitMatrix bits) throws ChecksumException, FormatException
- Throws:
ChecksumException
FormatException
-
decode
public DecoderResult decode(BitMatrix bits, java.util.Map<DecodeHintType,?> hints) throws FormatException, ChecksumException
Decodes a QR Code represented as a
BitMatrix
. A 1 or "true" is taken to mean a black module.- Parameters:
bits
- booleans representing white/black QR Code moduleshints
- decoding hints that should be used to influence decoding- Returns:
- text and bytes encoded within the QR Code
- Throws:
FormatException
- if the QR Code cannot be decodedChecksumException
- if error correction fails
-
decode
private DecoderResult decode(BitMatrixParser parser, java.util.Map<DecodeHintType,?> hints) throws FormatException, ChecksumException
- Throws:
FormatException
ChecksumException
-
correctErrors
private 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.
- Parameters:
codewordBytes
- data and error correction codewordsnumDataCodewords
- number of codewords that are data bytes- Returns:
- the number of errors corrected
- Throws:
ChecksumException
- if error correction fails
-
-