Package com.google.zxing.oned
Class OneDReader
java.lang.Object
com.google.zxing.oned.OneDReader
- All Implemented Interfaces:
- Reader
- Direct Known Subclasses:
- AbstractRSSReader,- CodaBarReader,- Code128Reader,- Code39Reader,- Code93Reader,- ITFReader,- MultiFormatOneDReader,- MultiFormatUPCEANReader,- UPCEANReader
Encapsulates functionality and implementation that is common to all families
 of one-dimensional barcodes.
- Author:
- dswitkin@google.com (Daniel Switkin), Sean Owen
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptiondecode(BinaryBitmap image) Locates and decodes a barcode in some format within an image.decode(BinaryBitmap image, Map<DecodeHintType, ?> hints) Locates and decodes a barcode in some format within an image.abstract ResultdecodeRow(int rowNumber, BitArray row, Map<DecodeHintType, ?> hints) Attempts to decode a one-dimensional barcode format given a single row of an image.protected static floatpatternMatchVariance(int[] counters, int[] pattern, float maxIndividualVariance) Determines how closely a set of observed counts of runs of black/white values matches a given target pattern.protected static voidrecordPattern(BitArray row, int start, int[] counters) Records the size of successive runs of white and black pixels in a row, starting at a given point.protected static voidrecordPatternInReverse(BitArray row, int start, int[] counters) voidreset()Resets any internal state the implementation has after a decode, to prepare it for reuse.
- 
Constructor Details- 
OneDReaderpublic OneDReader()
 
- 
- 
Method Details- 
decodeDescription copied from interface:ReaderLocates and decodes a barcode in some format within an image.- Specified by:
- decodein interface- Reader
- Parameters:
- image- image of barcode to decode
- Returns:
- String which the barcode encodes
- Throws:
- NotFoundException- if no potential barcode is found
- FormatException- if a potential barcode is found but format is invalid
 
- 
decodepublic Result decode(BinaryBitmap image, Map<DecodeHintType, ?> hints) throws NotFoundException, FormatExceptionDescription 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 interface- Reader
- Parameters:
- image- image of barcode to decode
- hints- passed as a- Mapfrom- DecodeHintTypeto 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
- FormatException- if a potential barcode is found but format is invalid
 
- 
resetpublic void reset()Description copied from interface:ReaderResets any internal state the implementation has after a decode, to prepare it for reuse.
- 
recordPatternprotected static void recordPattern(BitArray row, int start, int[] counters) throws NotFoundException Records the size of successive runs of white and black pixels in a row, starting at a given point. The values are recorded in the given array, and the number of runs recorded is equal to the size of the array. If the row starts on a white pixel at the given start point, then the first count recorded is the run of white pixels starting from that point; likewise it is the count of a run of black pixels if the row begin on a black pixels at that point.- Parameters:
- row- row to count from
- start- offset into row to start at
- counters- array into which to record counts
- Throws:
- NotFoundException- if counters cannot be filled entirely from row before running out of pixels
 
- 
recordPatternInReverseprotected static void recordPatternInReverse(BitArray row, int start, int[] counters) throws NotFoundException - Throws:
- NotFoundException
 
- 
patternMatchVarianceprotected static float patternMatchVariance(int[] counters, int[] pattern, float maxIndividualVariance) Determines how closely a set of observed counts of runs of black/white values matches a given target pattern. This is reported as the ratio of the total variance from the expected pattern proportions across all pattern elements, to the length of the pattern.- Parameters:
- counters- observed counters
- pattern- expected pattern
- maxIndividualVariance- The most any counter can differ before we give up
- Returns:
- ratio of total variance between counters and pattern compared to total pattern size
 
- 
decodeRowpublic abstract Result decodeRow(int rowNumber, BitArray row, Map<DecodeHintType, ?> hints) throws NotFoundException, ChecksumException, FormatExceptionAttempts to decode a one-dimensional barcode format given a single row of an image. - Parameters:
- rowNumber- row number from top of the row
- row- the black/white pixel data of the row
- hints- decode hints
- Returns:
- Resultcontaining encoded string and start/end of barcode
- 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
 
 
-