Package com.google.zxing.multi
Class ByQuadrantReader
- java.lang.Object
-
- com.google.zxing.multi.ByQuadrantReader
-
- All Implemented Interfaces:
Reader
public final class ByQuadrantReader extends java.lang.Object implements Reader
This class attempts to decode a barcode from an image, not by scanning the whole image, but by scanning subsets of the image. This is important when there may be multiple barcodes in an image, and detecting a barcode may find parts of multiple barcode and fail to decode (e.g. QR Codes). Instead this scans the four quadrants of the image -- and also the center 'quadrant' to cover the case where a barcode is found in the center.- See Also:
GenericMultipleBarcodeReader
-
-
Constructor Summary
Constructors Constructor Description ByQuadrantReader(Reader delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Resultdecode(BinaryBitmap image)Locates and decodes a barcode in some format within an image.Resultdecode(BinaryBitmap image, java.util.Map<DecodeHintType,?> hints)Locates and decodes a barcode in some format within an image.private static voidmakeAbsolute(ResultPoint[] points, int leftOffset, int topOffset)voidreset()Resets any internal state the implementation has after a decode, to prepare it for reuse.
-
-
-
Field Detail
-
delegate
private final Reader delegate
-
-
Constructor Detail
-
ByQuadrantReader
public ByQuadrantReader(Reader delegate)
-
-
Method Detail
-
decode
public Result decode(BinaryBitmap image) throws NotFoundException, ChecksumException, FormatException
Description copied from interface:ReaderLocates and decodes a barcode in some format within an image.- Specified by:
decodein interfaceReader- Parameters:
image- image of barcode to decode- Returns:
- String which the barcode encodes
- Throws:
NotFoundException- if no potential barcode is foundChecksumException- if a potential barcode is found but does not pass its checksumFormatException- if a potential barcode is found but format is invalid
-
decode
public Result decode(BinaryBitmap image, java.util.Map<DecodeHintType,?> hints) throws NotFoundException, ChecksumException, FormatException
Description copied from interface:ReaderLocates 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:
decodein interfaceReader- Parameters:
image- image of barcode to decodehints- passed as aMapfromDecodeHintTypeto 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 foundChecksumException- if a potential barcode is found but does not pass its checksumFormatException- if a potential barcode is found but format is invalid
-
reset
public void reset()
Description copied from interface:ReaderResets any internal state the implementation has after a decode, to prepare it for reuse.
-
makeAbsolute
private static void makeAbsolute(ResultPoint[] points, int leftOffset, int topOffset)
-
-