Package org.opencv.objdetect
Class BarcodeDetector
java.lang.Object
org.opencv.objdetect.GraphicalCodeDetector
org.opencv.objdetect.BarcodeDetector
-
Field Summary
Fields inherited from class org.opencv.objdetect.GraphicalCodeDetector
nativeObj
-
Constructor Summary
ConstructorsModifierConstructorDescriptionInitialize the BarcodeDetector.protected
BarcodeDetector
(long addr) BarcodeDetector
(String prototxt_path, String model_path) Initialize the BarcodeDetector. -
Method Summary
Modifier and TypeMethodDescriptionstatic BarcodeDetector
__fromPtr__
(long addr) boolean
Decodes barcode in image once it's found by the detect() method.boolean
Both detects and decodes barcodeboolean
Both detects and decodes barcodeprotected void
finalize()
void
getDetectorScales
(MatOfFloat sizes) Returns detector box filter sizes.double
Get detector downsampling threshold.double
Get detector gradient magnitude threshold.setDetectorScales
(MatOfFloat sizes) Set detector box filter sizes.setDownsamplingThreshold
(double thresh) Set detector downsampling threshold.setGradientThreshold
(double thresh) Set detector gradient magnitude threshold.Methods inherited from class org.opencv.objdetect.GraphicalCodeDetector
decode, decode, decodeMulti, decodeMulti, detect, detectAndDecode, detectAndDecode, detectAndDecode, detectAndDecodeMulti, detectAndDecodeMulti, detectAndDecodeMulti, detectMulti, getNativeObjAddr
-
Constructor Details
-
BarcodeDetector
protected BarcodeDetector(long addr) -
BarcodeDetector
public BarcodeDetector()Initialize the BarcodeDetector. -
BarcodeDetector
Initialize the BarcodeDetector. Parameters allow to load _optional_ Super Resolution DNN model for better quality.- Parameters:
prototxt_path
- prototxt file path for the super resolution modelmodel_path
- model file path for the super resolution model
-
-
Method Details
-
__fromPtr__
-
decodeWithType
public boolean decodeWithType(Mat img, Mat points, List<String> decoded_info, List<String> decoded_type) Decodes barcode in image once it's found by the detect() method.- Parameters:
img
- grayscale or color (BGR) image containing bar code.points
- vector of rotated rectangle vertices found by detect() method (or some other algorithm). For N detected barcodes, the dimensions of this array should be [N][4]. Order of four points in vector<Point2f> is bottomLeft, topLeft, topRight, bottomRight.decoded_info
- UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded.decoded_type
- vector strings, specifies the type of these barcodes- Returns:
- true if at least one valid barcode have been found
-
detectAndDecodeWithType
public boolean detectAndDecodeWithType(Mat img, List<String> decoded_info, List<String> decoded_type, Mat points) Both detects and decodes barcode- Parameters:
img
- grayscale or color (BGR) image containing barcode.decoded_info
- UTF8-encoded output vector of string(s) or empty vector of string if the codes cannot be decoded.decoded_type
- vector of strings, specifies the type of these barcodespoints
- optional output vector of vertices of the found barcode rectangle. Will be empty if not found.- Returns:
- true if at least one valid barcode have been found
-
detectAndDecodeWithType
public boolean detectAndDecodeWithType(Mat img, List<String> decoded_info, List<String> decoded_type) Both detects and decodes barcode- Parameters:
img
- grayscale or color (BGR) image containing barcode.decoded_info
- UTF8-encoded output vector of string(s) or empty vector of string if the codes cannot be decoded.decoded_type
- vector of strings, specifies the type of these barcodes- Returns:
- true if at least one valid barcode have been found
-
getDownsamplingThreshold
public double getDownsamplingThreshold()Get detector downsampling threshold.- Returns:
- detector downsampling threshold
-
setDownsamplingThreshold
Set detector downsampling threshold. By default, the detect method resizes the input image to this limit if the smallest image size is is greater than the threshold. Increasing this value can improve detection accuracy and the number of results at the expense of performance. Correlates with detector scales. Setting this to a large value will disable downsampling.- Parameters:
thresh
- downsampling limit to apply (default 512) SEE: setDetectorScales- Returns:
- automatically generated
-
getDetectorScales
Returns detector box filter sizes.- Parameters:
sizes
- output parameter for returning the sizes.
-
setDetectorScales
Set detector box filter sizes. Adjusts the value and the number of box filters used in the detect step. The filter sizes directly correlate with the expected line widths for a barcode. Corresponds to expected barcode distance. If the downsampling limit is increased, filter sizes need to be adjusted in an inversely proportional way.- Parameters:
sizes
- box filter sizes, relative to minimum dimension of the image (default [0.01, 0.03, 0.06, 0.08])- Returns:
- automatically generated
-
getGradientThreshold
public double getGradientThreshold()Get detector gradient magnitude threshold.- Returns:
- detector gradient magnitude threshold.
-
setGradientThreshold
Set detector gradient magnitude threshold. Sets the coherence threshold for detected bounding boxes. Increasing this value will generate a closer fitted bounding box width and can reduce false-positives. Values between 16 and 1024 generally work, while too high of a value will remove valid detections.- Parameters:
thresh
- gradient magnitude threshold (default 64).- Returns:
- automatically generated
-
finalize
- Overrides:
finalize
in classGraphicalCodeDetector
- Throws:
Throwable
-