Package com.google.zxing.qrcode.detector
Class Detector
java.lang.Object
com.google.zxing.qrcode.detector.Detector
- Direct Known Subclasses:
- MultiDetector
Encapsulates logic that can detect a QR Code in an image, even if the QR Code is rotated or skewed, or partially obscured.
- Author:
- Sean Owen
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected final floatcalculateModuleSize(ResultPoint topLeft, ResultPoint topRight, ResultPoint bottomLeft) Computes an average estimated module size based on estimated derived from the positions of the three finder patterns.detect()Detects a QR Code in an image.final DetectorResultdetect(Map<DecodeHintType, ?> hints) Detects a QR Code in an image.protected final AlignmentPatternfindAlignmentInRegion(float overallEstModuleSize, int estAlignmentX, int estAlignmentY, float allowanceFactor) Attempts to locate an alignment pattern in a limited region of the image, which is guessed to contain it.protected final BitMatrixgetImage()protected final ResultPointCallbackprotected final DetectorResult
- 
Constructor Details- 
Detector
 
- 
- 
Method Details- 
getImage
- 
getResultPointCallback
- 
detectDetects a QR Code in an image. - Returns:
- DetectorResultencapsulating results of detecting a QR Code
- Throws:
- NotFoundException- if QR Code cannot be found
- FormatException- if a QR Code cannot be decoded
 
- 
detectpublic final DetectorResult detect(Map<DecodeHintType, ?> hints) throws NotFoundException, FormatExceptionDetects a QR Code in an image. - Parameters:
- hints- optional hints to detector
- Returns:
- DetectorResultencapsulating results of detecting a QR Code
- Throws:
- NotFoundException- if QR Code cannot be found
- FormatException- if a QR Code cannot be decoded
 
- 
processFinderPatternInfoprotected final DetectorResult processFinderPatternInfo(FinderPatternInfo info) throws NotFoundException, FormatException - Throws:
- NotFoundException
- FormatException
 
- 
calculateModuleSizeprotected final float calculateModuleSize(ResultPoint topLeft, ResultPoint topRight, ResultPoint bottomLeft) Computes an average estimated module size based on estimated derived from the positions of the three finder patterns. - Parameters:
- topLeft- detected top-left finder pattern center
- topRight- detected top-right finder pattern center
- bottomLeft- detected bottom-left finder pattern center
- Returns:
- estimated module size
 
- 
findAlignmentInRegionprotected final AlignmentPattern findAlignmentInRegion(float overallEstModuleSize, int estAlignmentX, int estAlignmentY, float allowanceFactor) throws NotFoundException Attempts to locate an alignment pattern in a limited region of the image, which is guessed to contain it. This method uses AlignmentPattern.- Parameters:
- overallEstModuleSize- estimated module size so far
- estAlignmentX- x coordinate of center of area probably containing alignment pattern
- estAlignmentY- y coordinate of above
- allowanceFactor- number of pixels in all directions to search from the center
- Returns:
- AlignmentPatternif found, or null otherwise
- Throws:
- NotFoundException- if an unexpected error occurs during detection
 
 
-