Class QRCodeReader

  • All Implemented Interfaces:
    Reader
    Direct Known Subclasses:
    QRCodeMultiReader

    public class QRCodeReader
    extends java.lang.Object
    implements Reader
    This implementation can detect and decode QR Codes in an image.
    • Field Detail

      • NO_POINTS

        private static final ResultPoint[] NO_POINTS
      • decoder

        private final Decoder decoder
    • Constructor Detail

      • QRCodeReader

        public QRCodeReader()
    • Method Detail

      • getDecoder

        protected final Decoder getDecoder()
      • decode

        public final Result decode​(BinaryBitmap image,
                                   java.util.Map<DecodeHintType,​?> hints)
                            throws NotFoundException,
                                   ChecksumException,
                                   FormatException
        Description copied from interface: Reader
        Locates and decodes a barcode in some format within an image. This method also accepts hints, each possibly associated to some data, which may help the implementation decode.
        Specified by:
        decode in interface Reader
        Parameters:
        image - image of barcode to decode
        hints - passed as a Map from DecodeHintType to arbitrary data. The meaning of the data depends upon the hint type. The implementation may or may not do anything with these hints.
        Returns:
        String which the barcode encodes
        Throws:
        NotFoundException - if no potential barcode is found
        ChecksumException - if a potential barcode is found but does not pass its checksum
        FormatException - if a potential barcode is found but format is invalid
      • reset

        public void reset()
        Description copied from interface: Reader
        Resets any internal state the implementation has after a decode, to prepare it for reuse.
        Specified by:
        reset in interface Reader
      • extractPureBits

        private static BitMatrix extractPureBits​(BitMatrix image)
                                          throws NotFoundException
        This method detects a code in a "pure" image -- that is, pure monochrome image which contains only an unrotated, unskewed, image of a code, with some white border around it. This is a specialized method that works exceptionally fast in this special case.
        Throws:
        NotFoundException