CVB++ 15.0
Cvb::CodeReader Namespace Reference

Namespace for all decoding functionalities. More...

Namespaces

namespace  Config
 This namespace contains the configuration classes for all supported codes.
 

Classes

class  Decoder
 Class for decoding. More...
 
class  Result
 Class for storing the results of decoding. More...
 
class  Result2D
 Class for storing the results of 2D code decoding. More...
 

Enumerations

enum class  Symbology {
  Unknown = 0 , DataMatrix = CExports::CVCRSymbologies::CVCRS_DataMatrix , QR = CExports::CVCRSymbologies::CVCRS_QR , MicroQR = CExports::CVCRSymbologies::CVCRS_MicroQR ,
  Ean13 = CExports::CVCRSymbologies::CVCRS_EAN13 , Ean8 = CExports::CVCRSymbologies::CVCRS_EAN8 , UpcA = CExports::CVCRSymbologies::CVCRS_UPCA , UpcE = CExports::CVCRSymbologies::CVCRS_UPCE ,
  Code128 = CExports::CVCRSymbologies::CVCRS_Code128 , Code39 = CExports::CVCRSymbologies::CVCRS_Code39 , Code93 = CExports::CVCRSymbologies::CVCRS_Code93 , Interleaved2of5 = CExports::CVCRSymbologies::CVCRS_Interleaved2of5 ,
  Pdf417 = CExports::CVCRSymbologies::CVCRS_PDF417 , MicroPdf417 = CExports::CVCRSymbologies::CVCRS_MicroPDF417 , Pharmacode = CExports::CVCRSymbologies::CVCRS_Pharmacode , Code32 = CExports::CVCRSymbologies::CVCRS_Code32 ,
  Code11 = CExports::CVCRSymbologies::CVCRS_Code11 , AustraliaPost = CExports::CVCRSymbologies::CVCRS_AustralianPost , DutchPost = CExports::CVCRSymbologies::CVCRS_DutchPost , RoyalMail = CExports::CVCRSymbologies::CVCRS_RoyalMail ,
  UspsIntelligentMail = CExports::CVCRSymbologies::CVCRS_USPSIntelligentMail , GS1DataBar14 = CExports::CVCRSymbologies::CVCRS_GS1DataBar14 , GS1DataBarStacked = CExports::CVCRSymbologies::CVCRS_GS1DataBarStacked , GS1DataBarLimited = CExports::CVCRSymbologies::CVCRS_GS1DataBarLimited ,
  GS1DataBarExpanded = CExports::CVCRSymbologies::CVCRS_GS1DataBarExpanded , GS1DataBarExpandedStacked = CExports::CVCRSymbologies::CVCRS_GS1DataBarExpandedStacked
}
 Enum class listing all supported symbologies. More...
 
enum class  CustomPerformance { None = CExports::CVCRCustomPerformance::CVCRCP_None , Robust = CExports::CVCRCustomPerformance::CVCRCP_Robust , ExtendedRange2D = CExports::CVCRCustomPerformance::CVCRCP_ExtendedRange2D }
 Enum class specifying custom image processing methods to improve decoding robustness and performance. More...
 
enum class  DecodeStatus { Failure = -1 , Success = 100 }
 Enum class for decoding status. More...
 
enum class  CompositeType { None = 0 , CCA = CExports::CVCRValueSymbology::CVCRVS_CCA , CCB = CExports::CVCRValueSymbology::CVCRVS_CCB , CCC = CExports::CVCRValueSymbology::CVCRVS_CCC }
 Enum class representing the type of composite code. More...
 

Detailed Description

Namespace for all decoding functionalities.

This namespace encompasses all essential functions, enums, and classes required for decoding operations.

Note
For a comprehensive guide on decoding an image with codes, refer to the documentation of the Decoder class. The Decoder class description also includes a code example illustrating the process of configuring and executing the decoding.

Enumeration Type Documentation

◆ CompositeType

enum class CompositeType
strong

Enum class representing the type of composite code.

For detailed information about composite codes, see configuration class Config::CompositeCodeBase.

Enumerator
None 

Is not a composite component.

CCA 

Composite Component A (CC-A).

CCB 

Composite Component B (CC-B).

CCC 

Composite Component C (CC-C).

◆ CustomPerformance

enum class CustomPerformance
strong

Enum class specifying custom image processing methods to improve decoding robustness and performance.

This method is set by the Decoder class.

Enumerator
None 

No additional processing is applied.

Robust 

Enables robust decoding for a single code.

This mode applies enhanced processing techniques to improve the robustness of decoding a single code within an image. It is incompatible with any DPM (Direct Part Marking) settings. For optimal performance, the input image should not exceed a resolution of 1280 x 960 pixels. To speed up processing, use the smallest possible image size.

ExtendedRange2D 

Extends the readable range for 2D codes in the central area of the image.

Use this mode to increase the decoding range for 2D barcodes located in the central quarter of the image. It is not compatible with DPM settings. For best results, the input image should not exceed 1280 x 960 pixels.

◆ DecodeStatus

enum class DecodeStatus
strong

Enum class for decoding status.

Enumerator
Failure 

Decoding failed.

Success 

Decoding succeeded.

◆ Symbology

enum class Symbology
strong

Enum class listing all supported symbologies.

This enum class defines all supported symbologies. It is primarily used to specify the configuration class via the Decoder::Config() function. Each enum entry includes a reference to its corresponding configuration class for all functionalities and settings.

After creating a decoder, you can configure it using the Decoder::Config() member function with the desired symbology, as shown in the following example:

decoder->Config<Symbology::QR>().Enable();
static std::unique_ptr< Decoder > Create()
Creates and returns a new Decoder instance.
Definition detail_decoder.hpp:22
@ DarkOnLight
Definition decl_config_base.hpp:186
@ QR
QR code.
Definition decl_config_base.hpp:47
@ DataMatrix
Data Matrix.
Definition decl_config_base.hpp:42

After decoding an image, the detected symbology type is returned as a value of this enum class via Result::SymbologyType().

Note
A detailed description of the decoding and a code example can be found here.
Enumerator
Unknown 

Unknown symbology.

DataMatrix 

Data Matrix.

See configuration class Config::DataMatrix for all functionalities and settings.

QR 

QR code.

See configuration class Config::QR for all functionalities and settings.

MicroQR 

Micro QR code.

See configuration class Config::MicroQR for all functionalities and settings.

Ean13 

EAN-13.

See configuration class Config::Ean13 for all functionalities and settings.

Ean8 

EAN-8.

See configuration class Config::Ean8 for all functionalities and settings.

UpcA 

UPC-A.

See configuration class Config::UpcA for all functionalities and settings.

UpcE 

UPC-E.

See configuration class Config::UpcE for all functionalities and settings.

Code128 

Code 128.

See configuration class Config::Code128 for all functionalities and settings.

Code39 

Code 39.

See configuration class Config::Code39 for all functionalities and settings.

Code93 

Code 93.

See configuration class Config::Code93 for all functionalities and settings.

Interleaved2of5 

Interleaved 2 of 5.

See configuration class Config::Interleaved2of5 for all functionalities and settings.

Pdf417 

PDF417.

See configuration class Config::Pdf417 for all functionalities and settings.

MicroPdf417 

MicroPDF417.

See configuration class Config::MicroPdf417 for all functionalities and settings.

Pharmacode 

Pharmacode.

See configuration class Config::Pharmacode for all functionalities and settings.

Code32 

Code 32 (Italian Pharmacode).

See configuration class Config::Code32 for all functionalities and settings.

Code11 

Code 11.

See configuration class Config::Code11 for all functionalities and settings.

AustraliaPost 

Australia Post.

See configuration class Config::AustraliaPost for all functionalities and settings.

DutchPost 

DutchPost (KIX Code).

See configuration class Config::DutchPost for all functionalities and settings.

RoyalMail 

RoyalMail 4-State Code.

See configuration class Config::RoyalMail for all functionalities and settings.

UspsIntelligentMail 

USPS Intelligent Mail.

See configuration class Config::UspsIntelligentMail for all functionalities and settings.

GS1DataBar14 

GS1 DataBar-14.

See configuration class Config::GS1DataBar14 for all functionalities and settings.

GS1DataBarStacked 

GS1 DataBar Stacked.

See configuration class Config::GS1DataBarStacked for all functionalities and settings.

GS1DataBarLimited 

GS1 DataBar Limited.

See configuration class Config::GS1DataBarLimited for all functionalities and settings.

GS1DataBarExpanded 

GS1 DataBar Expanded.

See configuration class Config::GS1DataBarExpanded for all functionalities and settings.

GS1DataBarExpandedStacked 

GS1 DataBar Expanded Stacked.

See configuration class Config::GS1DataBarExpandedStacked for all functionalities and settings.