Class QRCodeReader

java.lang.Object
com.google.zxing.qrcode.QRCodeReader
All Implemented Interfaces:
Reader
Direct Known Subclasses:
QRCodeMultiReader

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

    • NO_POINTS

      private static final ResultPoint[] NO_POINTS
    • decoder

      private final Decoder decoder
  • Constructor Details

    • QRCodeReader

      public QRCodeReader()
  • Method Details

    • getDecoder

      protected final Decoder getDecoder()
    • decode

      Locates and decodes a QR code in an image.
      Specified by:
      decode in interface Reader
      Parameters:
      image - image of barcode to decode
      Returns:
      a String representing the content encoded by the QR code
      Throws:
      NotFoundException - if a QR code cannot be found
      FormatException - if a QR code cannot be decoded
      ChecksumException - if error correction fails
    • decode

      public final Result decode(BinaryBitmap image, 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
    • moduleSize

      private static float moduleSize(int[] leftTopBlack, BitMatrix image) throws NotFoundException
      Throws:
      NotFoundException