Class OneDReader

    • Constructor Detail

      • OneDReader

        public OneDReader()
    • Method Detail

      • decode

        public Result decode(BinaryBitmap image,
                             Map<DecodeHintType,?> hints)
                      throws NotFoundException,
                             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
        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.
      • recordPattern

        protected 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
      • patternMatchVariance

        protected 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