OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::barcode::BarcodeDetector Class Reference

#include <opencv2/objdetect/barcode.hpp>

Collaboration diagram for cv::barcode::BarcodeDetector:

Public Member Functions

 BarcodeDetector ()
 Initialize the BarcodeDetector.
 
 BarcodeDetector (CV_WRAP_FILE_PATH const std::string &prototxt_path, CV_WRAP_FILE_PATH const std::string &model_path)
 Initialize the BarcodeDetector.
 
 ~BarcodeDetector ()
 
bool decodeWithType (InputArray img, InputArray points, std::vector< std::string > &decoded_info, std::vector< std::string > &decoded_type) const
 Decodes barcode in image once it's found by the detect() method.
 
bool detectAndDecodeWithType (InputArray img, std::vector< std::string > &decoded_info, std::vector< std::string > &decoded_type, OutputArray points=noArray()) const
 Both detects and decodes barcode.
 
void getDetectorScales (std::vector< float > &sizes) const
 Returns detector box filter sizes.
 
double getDownsamplingThreshold () const
 Get detector downsampling threshold.
 
double getGradientThreshold () const
 Get detector gradient magnitude threshold.
 
BarcodeDetectorsetDetectorScales (const std::vector< float > &sizes)
 Set detector box filter sizes.
 
BarcodeDetectorsetDownsamplingThreshold (double thresh)
 Set detector downsampling threshold.
 
BarcodeDetectorsetGradientThreshold (double thresh)
 Set detector gradient magnitude threshold.
 
- Public Member Functions inherited from cv::GraphicalCodeDetector
 GraphicalCodeDetector ()
 
 GraphicalCodeDetector (const GraphicalCodeDetector &)=default
 
 GraphicalCodeDetector (GraphicalCodeDetector &&)=default
 
std::string decode (InputArray img, InputArray points, OutputArray straight_code=noArray()) const
 Decodes graphical code in image once it's found by the detect() method.
 
bool decodeMulti (InputArray img, InputArray points, std::vector< std::string > &decoded_info, OutputArrayOfArrays straight_code=noArray()) const
 Decodes graphical codes in image once it's found by the detect() method.
 
bool detect (InputArray img, OutputArray points) const
 Detects graphical code in image and returns the quadrangle containing the code.
 
std::string detectAndDecode (InputArray img, OutputArray points=noArray(), OutputArray straight_code=noArray()) const
 Both detects and decodes graphical code.
 
bool detectAndDecodeMulti (InputArray img, std::vector< std::string > &decoded_info, OutputArray points=noArray(), OutputArrayOfArrays straight_code=noArray()) const
 Both detects and decodes graphical codes.
 
bool detectMulti (InputArray img, OutputArray points) const
 Detects graphical codes in image and returns the vector of the quadrangles containing the codes.
 
GraphicalCodeDetectoroperator= (const GraphicalCodeDetector &)=default
 
GraphicalCodeDetectoroperator= (GraphicalCodeDetector &&)=default
 

Additional Inherited Members

- Protected Attributes inherited from cv::GraphicalCodeDetector
Ptr< Impl > p
 

Constructor & Destructor Documentation

◆ BarcodeDetector() [1/2]

cv::barcode::BarcodeDetector::BarcodeDetector ( )
Python:
cv.barcode.BarcodeDetector() -> <barcode_BarcodeDetector object>
cv.barcode.BarcodeDetector(prototxt_path, model_path) -> <barcode_BarcodeDetector object>

Initialize the BarcodeDetector.

◆ BarcodeDetector() [2/2]

cv::barcode::BarcodeDetector::BarcodeDetector ( CV_WRAP_FILE_PATH const std::string & prototxt_path,
CV_WRAP_FILE_PATH const std::string & model_path )
Python:
cv.barcode.BarcodeDetector() -> <barcode_BarcodeDetector object>
cv.barcode.BarcodeDetector(prototxt_path, model_path) -> <barcode_BarcodeDetector object>

Initialize the BarcodeDetector.

Parameters allow to load optional Super Resolution DNN model for better quality.

Parameters
prototxt_pathprototxt file path for the super resolution model
model_pathmodel file path for the super resolution model

◆ ~BarcodeDetector()

cv::barcode::BarcodeDetector::~BarcodeDetector ( )

Member Function Documentation

◆ decodeWithType()

bool cv::barcode::BarcodeDetector::decodeWithType ( InputArray img,
InputArray points,
std::vector< std::string > & decoded_info,
std::vector< std::string > & decoded_type ) const
Python:
cv.barcode.BarcodeDetector.decodeWithType(img, points) -> retval, decoded_info, decoded_type

Decodes barcode in image once it's found by the detect() method.

Parameters
imggrayscale or color (BGR) image containing bar code.
pointsvector 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_infoUTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded.
decoded_typevector strings, specifies the type of these barcodes
Returns
true if at least one valid barcode have been found

◆ detectAndDecodeWithType()

bool cv::barcode::BarcodeDetector::detectAndDecodeWithType ( InputArray img,
std::vector< std::string > & decoded_info,
std::vector< std::string > & decoded_type,
OutputArray points = noArray() ) const
Python:
cv.barcode.BarcodeDetector.detectAndDecodeWithType(img[, points]) -> retval, decoded_info, decoded_type, points

Both detects and decodes barcode.

Parameters
imggrayscale or color (BGR) image containing barcode.
decoded_infoUTF8-encoded output vector of string(s) or empty vector of string if the codes cannot be decoded.
decoded_typevector of strings, specifies the type of these barcodes
pointsoptional 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
Here is the call graph for this function:

◆ getDetectorScales()

void cv::barcode::BarcodeDetector::getDetectorScales ( std::vector< float > & sizes) const
Python:
cv.barcode.BarcodeDetector.getDetectorScales() -> sizes

Returns detector box filter sizes.

Parameters
sizesoutput parameter for returning the sizes.

◆ getDownsamplingThreshold()

double cv::barcode::BarcodeDetector::getDownsamplingThreshold ( ) const
Python:
cv.barcode.BarcodeDetector.getDownsamplingThreshold() -> retval

Get detector downsampling threshold.

Returns
detector downsampling threshold

◆ getGradientThreshold()

double cv::barcode::BarcodeDetector::getGradientThreshold ( ) const
Python:
cv.barcode.BarcodeDetector.getGradientThreshold() -> retval

Get detector gradient magnitude threshold.

Returns
detector gradient magnitude threshold.

◆ setDetectorScales()

BarcodeDetector & cv::barcode::BarcodeDetector::setDetectorScales ( const std::vector< float > & sizes)
Python:
cv.barcode.BarcodeDetector.setDetectorScales(sizes) -> retval

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
sizesbox filter sizes, relative to minimum dimension of the image (default [0.01, 0.03, 0.06, 0.08])

◆ setDownsamplingThreshold()

BarcodeDetector & cv::barcode::BarcodeDetector::setDownsamplingThreshold ( double thresh)
Python:
cv.barcode.BarcodeDetector.setDownsamplingThreshold(thresh) -> retval

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
threshdownsampling limit to apply (default 512)
See also
setDetectorScales

◆ setGradientThreshold()

BarcodeDetector & cv::barcode::BarcodeDetector::setGradientThreshold ( double thresh)
Python:
cv.barcode.BarcodeDetector.setGradientThreshold(thresh) -> retval

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
threshgradient magnitude threshold (default 64).

The documentation for this class was generated from the following file: