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 Result
decode(BinaryBitmap image)
Locates and decodes a barcode in some format within an image.Result
decode(BinaryBitmap image, java.util.Map<DecodeHintType,?> hints)
Locates and decodes a barcode in some format within an image.private static void
makeAbsolute(ResultPoint[] points, int leftOffset, int topOffset)
void
reset()
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:Reader
Locates and decodes a barcode in some format within an image.- Specified by:
decode
in 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: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 interfaceReader
- Parameters:
image
- image of barcode to decodehints
- passed as aMap
fromDecodeHintType
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 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:Reader
Resets 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)
-
-