mirror of
https://github.com/zxing/zxing.git
synced 2025-03-05 20:48:51 -08:00
Cleaned up some code to fit in 100 columns.
git-svn-id: https://zxing.googlecode.com/svn/trunk@942 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
parent
1c243335a6
commit
c9d3eae171
|
@ -90,25 +90,25 @@ public final class MultiFormatReader implements Reader {
|
||||||
this.hints = hints;
|
this.hints = hints;
|
||||||
|
|
||||||
boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
|
boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
|
||||||
Vector possibleFormats = hints == null ? null : (Vector) hints.get(DecodeHintType.POSSIBLE_FORMATS);
|
Vector formats = hints == null ? null : (Vector) hints.get(DecodeHintType.POSSIBLE_FORMATS);
|
||||||
readers = new Vector();
|
readers = new Vector();
|
||||||
if (possibleFormats != null) {
|
if (formats != null) {
|
||||||
boolean addOneDReader =
|
boolean addOneDReader =
|
||||||
possibleFormats.contains(BarcodeFormat.UPC_A) ||
|
formats.contains(BarcodeFormat.UPC_A) ||
|
||||||
possibleFormats.contains(BarcodeFormat.UPC_E) ||
|
formats.contains(BarcodeFormat.UPC_E) ||
|
||||||
possibleFormats.contains(BarcodeFormat.EAN_13) ||
|
formats.contains(BarcodeFormat.EAN_13) ||
|
||||||
possibleFormats.contains(BarcodeFormat.EAN_8) ||
|
formats.contains(BarcodeFormat.EAN_8) ||
|
||||||
possibleFormats.contains(BarcodeFormat.CODE_39) ||
|
formats.contains(BarcodeFormat.CODE_39) ||
|
||||||
possibleFormats.contains(BarcodeFormat.CODE_128) ||
|
formats.contains(BarcodeFormat.CODE_128) ||
|
||||||
possibleFormats.contains(BarcodeFormat.ITF);
|
formats.contains(BarcodeFormat.ITF);
|
||||||
// Put 1D readers upfront in "normal" mode
|
// Put 1D readers upfront in "normal" mode
|
||||||
if (addOneDReader && !tryHarder) {
|
if (addOneDReader && !tryHarder) {
|
||||||
readers.addElement(new MultiFormatOneDReader(hints));
|
readers.addElement(new MultiFormatOneDReader(hints));
|
||||||
}
|
}
|
||||||
if (possibleFormats.contains(BarcodeFormat.QR_CODE)) {
|
if (formats.contains(BarcodeFormat.QR_CODE)) {
|
||||||
readers.addElement(new QRCodeReader());
|
readers.addElement(new QRCodeReader());
|
||||||
}
|
}
|
||||||
if (possibleFormats.contains(BarcodeFormat.DATAMATRIX)) {
|
if (formats.contains(BarcodeFormat.DATAMATRIX)) {
|
||||||
readers.addElement(new DataMatrixReader());
|
readers.addElement(new DataMatrixReader());
|
||||||
}
|
}
|
||||||
// At end in "try harder" mode
|
// At end in "try harder" mode
|
||||||
|
|
|
@ -69,15 +69,16 @@ public final class Result {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@link BarcodeFormat} representing the format of the barcode that was recognized and decoded
|
* @return {@link BarcodeFormat} representing the format of the barcode that was decoded
|
||||||
*/
|
*/
|
||||||
public BarcodeFormat getBarcodeFormat() {
|
public BarcodeFormat getBarcodeFormat() {
|
||||||
return format;
|
return format;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@link Hashtable} mapping {@link ResultMetadataType} keys to values. May be <code>null</code>.
|
* @return {@link Hashtable} mapping {@link ResultMetadataType} keys to values. May be
|
||||||
* This contains optional metadata about what was detected about the barcode, like orientation.
|
* <code>null</code>. This contains optional metadata about what was detected about the barcode,
|
||||||
|
* like orientation.
|
||||||
*/
|
*/
|
||||||
public Hashtable getResultMetadata() {
|
public Hashtable getResultMetadata() {
|
||||||
return resultMetadata;
|
return resultMetadata;
|
||||||
|
|
|
@ -110,7 +110,8 @@ public abstract class BaseMonochromeBitmapSource implements MonochromeBitmapSour
|
||||||
return column;
|
return column;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void estimateBlackPoint(BlackPointEstimationMethod method, int argument) throws ReaderException {
|
public void estimateBlackPoint(BlackPointEstimationMethod method, int argument)
|
||||||
|
throws ReaderException {
|
||||||
if (!method.equals(lastMethod) || argument != lastArgument) {
|
if (!method.equals(lastMethod) || argument != lastArgument) {
|
||||||
int width = getWidth();
|
int width = getWidth();
|
||||||
int height = getHeight();
|
int height = getHeight();
|
||||||
|
|
|
@ -42,10 +42,9 @@ public final class BlackPointEstimator {
|
||||||
* @param histogram an array of <em>counts</em> of luminance values
|
* @param histogram an array of <em>counts</em> of luminance values
|
||||||
* @return index within argument of bucket corresponding to brightest values which should be
|
* @return index within argument of bucket corresponding to brightest values which should be
|
||||||
* considered "black"
|
* considered "black"
|
||||||
* @throws ReaderException if "black" and "white" appear to be very close in luminance in the image
|
* @throws ReaderException if "black" and "white" appear to be very close in luminance
|
||||||
*/
|
*/
|
||||||
public static int estimate(int[] histogram) throws ReaderException{
|
public static int estimate(int[] histogram) throws ReaderException{
|
||||||
|
|
||||||
int numBuckets = histogram.length;
|
int numBuckets = histogram.length;
|
||||||
int maxBucketCount = 0;
|
int maxBucketCount = 0;
|
||||||
// Find tallest peak in histogram
|
// Find tallest peak in histogram
|
||||||
|
|
|
@ -81,7 +81,8 @@ public final class CharacterSetECI extends ECI {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param value character set ECI value
|
* @param value character set ECI value
|
||||||
* @return {@link CharacterSetECI} representing ECI of given value, or null if it is legal but unsupported
|
* @return {@link CharacterSetECI} representing ECI of given value, or null if it is legal but
|
||||||
|
* unsupported
|
||||||
* @throws IllegalArgumentException if ECI value is invalid
|
* @throws IllegalArgumentException if ECI value is invalid
|
||||||
*/
|
*/
|
||||||
public static CharacterSetECI getCharacterSetECIByValue(int value) {
|
public static CharacterSetECI getCharacterSetECIByValue(int value) {
|
||||||
|
@ -96,7 +97,8 @@ public final class CharacterSetECI extends ECI {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param name character set ECI encoding name
|
* @param name character set ECI encoding name
|
||||||
* @return {@link CharacterSetECI} representing ECI for character encoding, or null if it is legal but unsupported
|
* @return {@link CharacterSetECI} representing ECI for character encoding, or null if it is legal
|
||||||
|
* but unsupported
|
||||||
*/
|
*/
|
||||||
public static CharacterSetECI getCharacterSetECIByName(String name) {
|
public static CharacterSetECI getCharacterSetECIByName(String name) {
|
||||||
if (NAME_TO_ECI == null) {
|
if (NAME_TO_ECI == null) {
|
||||||
|
|
|
@ -64,8 +64,8 @@ public final class DefaultGridSampler extends GridSampler {
|
||||||
// transform gets "twisted" such that it maps a straight line of points to a set of points
|
// transform gets "twisted" such that it maps a straight line of points to a set of points
|
||||||
// whose endpoints are in bounds, but others are not. There is probably some mathematical
|
// whose endpoints are in bounds, but others are not. There is probably some mathematical
|
||||||
// way to detect this about the transformation that I don't know yet.
|
// way to detect this about the transformation that I don't know yet.
|
||||||
// This results in an ugly runtime exception despite our clever checks above -- can't have that.
|
// This results in an ugly runtime exception despite our clever checks above -- can't have
|
||||||
// We could check each point's coordinates but that feels duplicative. We settle for
|
// that. We could check each point's coordinates but that feels duplicative. We settle for
|
||||||
// catching and wrapping ArrayIndexOutOfBoundsException.
|
// catching and wrapping ArrayIndexOutOfBoundsException.
|
||||||
throw ReaderException.getInstance();
|
throw ReaderException.getInstance();
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
package com.google.zxing.common;
|
package com.google.zxing.common;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations" 5.3
|
* Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations"
|
||||||
* of ISO 18004.
|
* 5.3 of ISO 18004.
|
||||||
*
|
*
|
||||||
* @author Sean Owen
|
* @author Sean Owen
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -65,18 +65,18 @@ public abstract class GridSampler {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Samples an image for a square matrix of bits of the given dimension. This is used to extract the
|
* <p>Samples an image for a square matrix of bits of the given dimension. This is used to extract
|
||||||
* black/white modules of a 2D barcode like a QR Code found in an image. Because this barcode may be
|
* the black/white modules of a 2D barcode like a QR Code found in an image. Because this barcode
|
||||||
* rotated or perspective-distorted, the caller supplies four points in the source image that define
|
* may be rotated or perspective-distorted, the caller supplies four points in the source image
|
||||||
* known points in the barcode, so that the image may be sampled appropriately.</p>
|
* that define known points in the barcode, so that the image may be sampled appropriately.</p>
|
||||||
*
|
*
|
||||||
* <p>The last eight "from" parameters are four X/Y coordinate pairs of locations of points in
|
* <p>The last eight "from" parameters are four X/Y coordinate pairs of locations of points in
|
||||||
* the image that define some significant points in the image to be sample. For example,
|
* the image that define some significant points in the image to be sample. For example,
|
||||||
* these may be the location of finder pattern in a QR Code.</p>
|
* these may be the location of finder pattern in a QR Code.</p>
|
||||||
*
|
*
|
||||||
* <p>The first eight "to" parameters are four X/Y coordinate pairs measured in the destination
|
* <p>The first eight "to" parameters are four X/Y coordinate pairs measured in the destination
|
||||||
* {@link BitMatrix}, from the top left, where the known points in the image given by the "from" parameters
|
* {@link BitMatrix}, from the top left, where the known points in the image given by the "from"
|
||||||
* map to.</p>
|
* parameters map to.</p>
|
||||||
*
|
*
|
||||||
* <p>These 16 parameters define the transformation needed to sample the image.</p>
|
* <p>These 16 parameters define the transformation needed to sample the image.</p>
|
||||||
*
|
*
|
||||||
|
@ -84,8 +84,8 @@ public abstract class GridSampler {
|
||||||
* @param dimension width/height of {@link BitMatrix} to sample from iamge
|
* @param dimension width/height of {@link BitMatrix} to sample from iamge
|
||||||
* @return {@link BitMatrix} representing a grid of points sampled from the image within a region
|
* @return {@link BitMatrix} representing a grid of points sampled from the image within a region
|
||||||
* defined by the "from" parameters
|
* defined by the "from" parameters
|
||||||
* @throws ReaderException if image can't be sampled, for example, if the transformation defined by
|
* @throws ReaderException if image can't be sampled, for example, if the transformation defined
|
||||||
* the given points is invalid or results in sampling outside the image boundaries
|
* by the given points is invalid or results in sampling outside the image boundaries
|
||||||
*/
|
*/
|
||||||
public abstract BitMatrix sampleGrid(MonochromeBitmapSource image,
|
public abstract BitMatrix sampleGrid(MonochromeBitmapSource image,
|
||||||
int dimension,
|
int dimension,
|
||||||
|
@ -102,9 +102,9 @@ public abstract class GridSampler {
|
||||||
* <p>Checks a set of points that have been transformed to sample points on an image against
|
* <p>Checks a set of points that have been transformed to sample points on an image against
|
||||||
* the image's dimensions to see if the point are even within the image.</p>
|
* the image's dimensions to see if the point are even within the image.</p>
|
||||||
*
|
*
|
||||||
* <p>This method will actually "nudge" the endpoints back onto the image if they are found to be barely
|
* <p>This method will actually "nudge" the endpoints back onto the image if they are found to be
|
||||||
* (less than 1 pixel) off the image. This accounts for imperfect detection of finder patterns in an image
|
* barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder
|
||||||
* where the QR Code runs all the way to the image border.</p>
|
* patterns in an image where the QR Code runs all the way to the image border.</p>
|
||||||
*
|
*
|
||||||
* <p>For efficiency, the method will check points from either end of the line until one is found
|
* <p>For efficiency, the method will check points from either end of the line until one is found
|
||||||
* to be within the image. Because the set of points are assumed to be linear, this is valid.</p>
|
* to be within the image. Because the set of points are assumed to be linear, this is valid.</p>
|
||||||
|
@ -113,7 +113,8 @@ public abstract class GridSampler {
|
||||||
* @param points actual points in x1,y1,...,xn,yn form
|
* @param points actual points in x1,y1,...,xn,yn form
|
||||||
* @throws ReaderException if an endpoint is lies outside the image boundaries
|
* @throws ReaderException if an endpoint is lies outside the image boundaries
|
||||||
*/
|
*/
|
||||||
protected static void checkAndNudgePoints(MonochromeBitmapSource image, float[] points) throws ReaderException {
|
protected static void checkAndNudgePoints(MonochromeBitmapSource image, float[] points)
|
||||||
|
throws ReaderException {
|
||||||
int width = image.getWidth();
|
int width = image.getWidth();
|
||||||
int height = image.getHeight();
|
int height = image.getHeight();
|
||||||
// Check and nudge points from start until we see some that are OK:
|
// Check and nudge points from start until we see some that are OK:
|
||||||
|
|
|
@ -17,9 +17,9 @@
|
||||||
package com.google.zxing.common;
|
package com.google.zxing.common;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>This class implements a perspective transform in two dimensions. Given four source and four destination
|
* <p>This class implements a perspective transform in two dimensions. Given four source and four
|
||||||
* points, it will compute the transformation implied between them. The code is based directly upon section
|
* destination points, it will compute the transformation implied between them. The code is based
|
||||||
* 3.4.2 of George Wolberg's "Digital Image Warping"; see pages 54-56.</p>
|
* directly upon section 3.4.2 of George Wolberg's "Digital Image Warping"; see pages 54-56.</p>
|
||||||
*
|
*
|
||||||
* @author Sean Owen
|
* @author Sean Owen
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue