Represents a 1D Bar Code Reading Context. More...
#include <eVision/EasyBarCode/EasyBarCode2/EBarCodeReader.h>
Public Member Functions | |
| EBarCodeReader () | |
| Constructs a EBarCodeReader context. | |
| EBarCodeReader (const eVision::EasyBarCode2::EBarCodeReader &other) | |
| Constructs a EBarCodeReader context. | |
| virtual | ~EBarCodeReader () throw () |
| eVision::EasyBarCode2::EBarCodeReader & | operator= (const eVision::EasyBarCode2::EBarCodeReader &other) |
| Copies all the data from another EBarCodeReader object into the current EBarCodeReader object. | |
| float | Learn (const std::vector< eVision::EROIBW8 * > &rois, bool keepDefaultScales, bool addAllScales) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EROIBW8 * > &rois, bool keepDefaultScales) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EROIBW8 * > &rois) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EImageBW8 * > &images, bool keepDefaultScales, bool addAllScales) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EImageBW8 * > &images, bool keepDefaultScales) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EImageBW8 * > &images) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EROIBW8 > &rois, bool keepDefaultScales, bool addAllScales) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EROIBW8 > &rois, bool keepDefaultScales) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EROIBW8 > &rois) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EImageBW8 > &images, bool keepDefaultScales, bool addAllScales) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EImageBW8 > &images, bool keepDefaultScales) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| float | Learn (const std::vector< eVision::EImageBW8 > &images) |
| Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly. | |
| void | ResetLearning () |
| Forgets the learned parameter settings and resets them to their default values. | |
| bool | GetLearningPerformed () const |
| Returns whether a learning has been performed on the EBarCodeReader. | |
| std::vector< eVision::EasyBarCode2::EBarCode > | Read (const eVision::EROIBW8 &img) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| std::vector< eVision::EasyBarCode2::EBarCode > | Read (const eVision::EROIBW8 &img, const eVision::EFrame &frame) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| std::vector< eVision::EasyBarCode2::EBarCode > | Read (const eVision::EROIBW8 &img, const eVision::ERegion ®ion) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| std::vector< eVision::EasyBarCode2::EBarCode > | Read (const eVision::EROIBW8 &img, const eVision::ERegion ®ion, const eVision::EFrame &frame) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::ERectangleRegion &area, int32_t numCellsX, int32_t numCellsY, float extension) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::ERectangleRegion &area, int32_t numCellsX, int32_t numCellsY) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::ERectangleRegion &area, const eVision::EFrame &frame, int32_t numCellsX, int32_t numCellsY, float extension) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::ERectangleRegion &area, const eVision::EFrame &frame, int32_t numCellsX, int32_t numCellsY) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::ERectangleRegion &area, const eVision::EasyBarCode2::EBarCodeGrid &grid, float extension) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::ERectangleRegion &area, const eVision::EasyBarCode2::EBarCodeGrid &grid) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::ERectangleRegion &area, const eVision::EFrame &frame, const eVision::EasyBarCode2::EBarCodeGrid &grid, float extension) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::ERectangleRegion &area, const eVision::EFrame &frame, const eVision::EasyBarCode2::EBarCodeGrid &grid) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::EGrid &grid) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| eVision::EasyBarCode2::EBarCodeGrid | Read (const eVision::EROIBW8 &img, const eVision::EGrid &grid, const eVision::EFrame &frame) const |
| Finds and reads all the barcodes in the provided Image/ROI. | |
| uint32_t | GetMaxNumCodes () const |
| Maximum number of barcodes to find in a single Image/ROI. | |
| void | SetMaxNumCodes (uint32_t max) |
| Maximum number of barcodes to find in a single Image/ROI. | |
| bool | GetValidateWithChecksum () const |
| Enables/Disables all barcode validations. | |
| void | SetValidateWithChecksum (bool validate) |
| Enables/Disables all barcode validations. | |
| bool | GetValidateBarCode () const |
| Enables/Disables all barcode validations. | |
| void | SetValidateBarCode (bool validate) |
| Enables/Disables all barcode validations. | |
| bool | GetValidateMandatoryChecksum () const |
| Enables/Disables checksum validation for all symbologies for which a checksum is mandatory, for example EBarCodeSymbologies::EBarCodeSymbologies_Code128. | |
| void | SetValidateMandatoryChecksum (bool validate) |
| Enables/Disables checksum validation for all symbologies for which a checksum is mandatory, for example EBarCodeSymbologies::EBarCodeSymbologies_Code128. | |
| bool | GetValidateOptionalChecksum () const |
| Enables/Disables checksum validation for all symbologies for which a checksum is optional, for example EBarCodeSymbologies::EBarCodeSymbologies_Code39. | |
| void | SetValidateOptionalChecksum (bool validate) |
| Enables/Disables checksum validation for all symbologies for which a checksum is optional, for example EBarCodeSymbologies::EBarCodeSymbologies_Code39. | |
| bool | GetValidatePharmacode () const |
| Enables/Disables validation for the EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack symbology. | |
| void | SetValidatePharmacode (bool validate) |
| Enables/Disables validation for the EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack symbology. | |
| void | EnableSymbology (eVision::EasyBarCode2::EBarCodeSymbologies symbology) |
| Enables a single symbology. | |
| void | EnableSymbologies (const std::vector< eVision::EasyBarCode2::EBarCodeSymbologies > &symbologies) |
| Enables a set of symbologies. | |
| void | EnableAllSymbologies () |
| Enables all supported symbologies, with the exception of EBarCodeSymbologies::EBarCodeSymbologies_PDF417, EBarCodeSymbologies::EBarCodeSymbologies_CodeStk, EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack and EBarCodeSymbologies::EBarCodeSymbologies_BinaryCode because they might degrade the detection of other symbologies or generate false positives. | |
| void | EnableSafeSymbologies () |
| Enables all supported symbologies that do not degrade the detection of other symbologies or generate false positives. That is, all with the exception of EBarCodeSymbologies::EBarCodeSymbologies_PDF417, EBarCodeSymbologies::EBarCodeSymbologies_CodeStk, EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack and EBarCodeSymbologies::EBarCodeSymbologies_BinaryCode. | |
| void | EnableDefaultSymbologies () |
| Enables default symbologies. | |
| std::vector< eVision::EasyBarCode2::EBarCodeSymbologies > | GetEnabledSymbologies () const |
| Enabled symbologies. | |
| void | DisableAllSymbologies () |
| Disables all symbologies. | |
| uint64_t | GetTimeOut () const |
| Time-out for the EBarCodeReader::Read method. | |
| void | SetTimeOut (uint64_t value) |
| Time-out for the EBarCodeReader::Read method. | |
| void | Save (const std::string &file) |
| Save the reader configuration. | |
| void | Save (eVision::ESerializer *serializer) |
| Save the reader configuration. | |
| void | Load (const std::string &file) |
| Load the reader configuration. | |
| void | Load (eVision::ESerializer *serializer) |
| Load the reader configuration. | |
| void | SetMinModuleSize (float minModuleSize) |
| Parameter used before version 24.10. It has currently no effect. | |
| float | GetMinModuleSize () const |
| Parameter used before version 24.10. It has currently no effect. | |
| void | SetUseMinModuleSize (bool useMinModuleSize) |
| Parameter used before version 24.10. It has currently no effect. | |
| bool | GetUseMinModuleSize () const |
| Parameter used before version 24.10. It has currently no effect. | |
| void | SetEnablePermissiveDecoding (bool enable) |
| Enables or disables the decoding of codes containing partially incorrect information. | |
| bool | GetEnablePermissiveDecoding () const |
| Enables or disables the decoding of codes containing partially incorrect information. | |
| void | SetEnablePatternCorrection (bool enable) |
| Enables or disables the correction of patterns incorrectly decoded. By pattern, we mean a group of n consecutive strips that is decoded to a single value, these exist in most symbologies. | |
| bool | GetEnablePatternCorrection () const |
| Enables or disables the correction of patterns incorrectly decoded. By pattern, we mean a group of n consecutive strips that is decoded to a single value, these exist in most symbologies. | |
| void | SetEnableAdvancedDecoding (bool enable) |
| Enables or disables some advanced decoding for the EBarCodeSymbologies::EBarCodeSymbologies_Code128, EBarCodeSymbologies::EBarCodeSymbologies_Gs1_128 and EBarCodeSymbologies::EBarCodeSymbologies_Ean13 symbologies specifically. | |
| bool | GetEnableAdvancedDecoding () const |
| Enables or disables some advanced decoding for the EBarCodeSymbologies::EBarCodeSymbologies_Code128, EBarCodeSymbologies::EBarCodeSymbologies_Gs1_128 and EBarCodeSymbologies::EBarCodeSymbologies_Ean13 symbologies specifically. | |
| void | SetEnablePrintingErrorCorrection (bool enable) |
| Enables or disables the correction of patterns incorrectly printed. By pattern, we mean a group of n consecutive strips that is decoded to a single value, these exist in most symbologies. | |
| bool | GetEnablePrintingErrorCorrection () const |
| Enables or disables the correction of patterns incorrectly printed. By pattern, we mean a group of n consecutive strips that is decoded to a single value, these exist in most symbologies. | |
| void | SetReadingOrientation (eVision::EasyBarCode2::EReadingOrientation orientation) |
| Some symbologies do not specify start and stop patterns, namely: EBarCodeSymbologies::EBarCodeSymbologies_CodeStk, EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack and EBarCodeSymbologies::EBarCodeSymbologies_BinaryCode. In these cases, we do not know if we should decode the barcode from left to right or from right to left. EBarCodeReader::SetReadingOrientation solves this problem. | |
| eVision::EasyBarCode2::EReadingOrientation | GetReadingOrientation () const |
| Some symbologies do not specify start and stop patterns, namely: EBarCodeSymbologies::EBarCodeSymbologies_CodeStk, EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack and EBarCodeSymbologies::EBarCodeSymbologies_BinaryCode. In these cases, we do not know if we should decode the barcode from left to right or from right to left. EBarCodeReader::SetReadingOrientation solves this problem. | |
| void | SetComputeGrading (bool enable) |
| Enables or disables the computation of the grades of the read barcodes according to ISO 15416. | |
| bool | GetComputeGrading () const |
| Enables or disables the computation of the grades of the read barcodes according to ISO 15416. | |
| EBarCodeReader (CppWrapperInternal::InternalConstructor) | |
Public Attributes | |
| CppWrapperInternal::WrappedClass | wrappedClass_ |
Represents a 1D Bar Code Reading Context.
License(s): EasyBarCode
| eVision::EasyBarCode2::EBarCodeReader::EBarCodeReader | ( | ) |
Constructs a EBarCodeReader context.
The default constructor constructs an uninitialized EBarCodeReader object. All properties are initialized to their respective default values. The copy constructor constructs a EBarCodeReader context based on a pre-existing EBarCodeReader object. All properties and internal data are copied.
| eVision::EasyBarCode2::EBarCodeReader::EBarCodeReader | ( | const eVision::EasyBarCode2::EBarCodeReader & | other | ) |
Constructs a EBarCodeReader context.
| other | Another EBarCodeReader object to be copied in the new EBarCodeReader object. |
The default constructor constructs an uninitialized EBarCodeReader object. All properties are initialized to their respective default values. The copy constructor constructs a EBarCodeReader context based on a pre-existing EBarCodeReader object. All properties and internal data are copied.
|
virtual | ||||||||||||
| eVision::EasyBarCode2::EBarCodeReader::EBarCodeReader | ( | CppWrapperInternal::InternalConstructor | ) |
| void eVision::EasyBarCode2::EBarCodeReader::DisableAllSymbologies | ( | ) |
Disables all symbologies.
| void eVision::EasyBarCode2::EBarCodeReader::EnableAllSymbologies | ( | ) |
Enables all supported symbologies, with the exception of EBarCodeSymbologies::EBarCodeSymbologies_PDF417, EBarCodeSymbologies::EBarCodeSymbologies_CodeStk, EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack and EBarCodeSymbologies::EBarCodeSymbologies_BinaryCode because they might degrade the detection of other symbologies or generate false positives.
Deprecated, use EBarCodeReader::EnableSafeSymbologies instead.
Deprecated in version 25.2. Scheduled to be removed in version 27.6.
| void eVision::EasyBarCode2::EBarCodeReader::EnableDefaultSymbologies | ( | ) |
Enables default symbologies.
| void eVision::EasyBarCode2::EBarCodeReader::EnableSafeSymbologies | ( | ) |
Enables all supported symbologies that do not degrade the detection of other symbologies or generate false positives. That is, all with the exception of EBarCodeSymbologies::EBarCodeSymbologies_PDF417, EBarCodeSymbologies::EBarCodeSymbologies_CodeStk, EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack and EBarCodeSymbologies::EBarCodeSymbologies_BinaryCode.
| void eVision::EasyBarCode2::EBarCodeReader::EnableSymbologies | ( | const std::vector< eVision::EasyBarCode2::EBarCodeSymbologies > & | symbologies | ) |
Enables a set of symbologies.
| symbologies | the vector of symbologies to enable |
| void eVision::EasyBarCode2::EBarCodeReader::EnableSymbology | ( | eVision::EasyBarCode2::EBarCodeSymbologies | symbology | ) |
Enables a single symbology.
| symbology | the symbology to enable |
| bool eVision::EasyBarCode2::EBarCodeReader::GetComputeGrading | ( | ) | const |
Enables or disables the computation of the grades of the read barcodes according to ISO 15416.
At the moment, grading is only supported for EBarCodeSymbologies::EBarCodeSymbologies_Code128, EBarCodeSymbologies::EBarCodeSymbologies_Gs1_128 and EBarCodeSymbologies::EBarCodeSymbologies_Ean13.
ComputeGrading is disabled by default.
| bool eVision::EasyBarCode2::EBarCodeReader::GetEnableAdvancedDecoding | ( | ) | const |
Enables or disables some advanced decoding for the EBarCodeSymbologies::EBarCodeSymbologies_Code128, EBarCodeSymbologies::EBarCodeSymbologies_Gs1_128 and EBarCodeSymbologies::EBarCodeSymbologies_Ean13 symbologies specifically.
In practice, when this option is set, the reader assumes a character might be badly printed and uses the checksum to correct that character. In rare cases, this option may lead to reading false positives codes.
Advanced decoding is enabled by default.
| std::vector< eVision::EasyBarCode2::EBarCodeSymbologies > eVision::EasyBarCode2::EBarCodeReader::GetEnabledSymbologies | ( | ) | const |
Enabled symbologies.
| bool eVision::EasyBarCode2::EBarCodeReader::GetEnablePatternCorrection | ( | ) | const |
Enables or disables the correction of patterns incorrectly decoded. By pattern, we mean a group of n consecutive strips that is decoded to a single value, these exist in most symbologies.
In practice, when this option is set, the reader matches a badly decoded pattern to the closest one in some cases. In rare cases, this option may lead to reading false positives codes. It has no effect for symbologies with complex decoding (e.g. GS1 DataBar, PDF417) or without patterns (e.g. Pharmacode).
Pattern correction is enabled by default.
| bool eVision::EasyBarCode2::EBarCodeReader::GetEnablePermissiveDecoding | ( | ) | const |
Enables or disables the decoding of codes containing partially incorrect information.
In practice, when this option is set, the reader assumes a character might be badly printed and uses the checksum to correct that character. In rare cases, this option may lead to reading false positives codes. It has no effect for symbologies in which a checksum is not mandatory.
Permissive decoding is enabled by default.
| bool eVision::EasyBarCode2::EBarCodeReader::GetEnablePrintingErrorCorrection | ( | ) | const |
Enables or disables the correction of patterns incorrectly printed. By pattern, we mean a group of n consecutive strips that is decoded to a single value, these exist in most symbologies.
In practice, when this option is set, the reader tries to correct some printing defects. For example some bar or space of a pattern that has a width of 1 module instead of 2. In some cases, this option may lead to reading false positives codes. It has no effect for symbologies with complex decoding (e.g. GS1 DataBar, PDF417) or without patterns (e.g. Pharmacode).
Note that EBarCodeReader::SetEnablePrintingErrorCorrection adds an additional step in the processes enabled by EBarCodeReader::SetEnableAdvancedDecoding and EBarCodeReader::SetEnablePatternCorrection, so it has no effect when they are disabled.
Printing error correction is disabled by default.
| bool eVision::EasyBarCode2::EBarCodeReader::GetLearningPerformed | ( | ) | const |
Returns whether a learning has been performed on the EBarCodeReader.
Note that after a failed call to EBarCodeReader::Learn (the value of 0 was returned), calling this method will returns false.
| uint32_t eVision::EasyBarCode2::EBarCodeReader::GetMaxNumCodes | ( | ) | const |
Maximum number of barcodes to find in a single Image/ROI.
By default, this parameter is set to 1.
| float eVision::EasyBarCode2::EBarCodeReader::GetMinModuleSize | ( | ) | const |
Parameter used before version 24.10. It has currently no effect.
| eVision::EasyBarCode2::EReadingOrientation eVision::EasyBarCode2::EBarCodeReader::GetReadingOrientation | ( | ) | const |
Some symbologies do not specify start and stop patterns, namely: EBarCodeSymbologies::EBarCodeSymbologies_CodeStk, EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack and EBarCodeSymbologies::EBarCodeSymbologies_BinaryCode. In these cases, we do not know if we should decode the barcode from left to right or from right to left. EBarCodeReader::SetReadingOrientation solves this problem.
The default orientation is EReadingOrientation::EReadingOrientation_LeftToRight.
| uint64_t eVision::EasyBarCode2::EBarCodeReader::GetTimeOut | ( | ) | const |
Time-out for the EBarCodeReader::Read method.
If the processing time of one of these functions becomes longer than the set time-out, the processing is stopped and an exception is thrown. In that case, the error code of the exception is EError::EError_TimeoutReached.
The time-out is set in microseconds.
This time-out is not a real time-out. The processing is stopped as soon as possible after the time-out has been reached. This means that the time elapsed effectively in the method can be greater than the time-out itself.
| bool eVision::EasyBarCode2::EBarCodeReader::GetUseMinModuleSize | ( | ) | const |
Parameter used before version 24.10. It has currently no effect.
| bool eVision::EasyBarCode2::EBarCodeReader::GetValidateBarCode | ( | ) | const |
Enables/Disables all barcode validations.
If this validation is enabled, barcodes with an erroneous checksum will not be returned.
For the PharmaCodeOneTrack symbology, no checksum is computed. We instead validate that the barcode is coherent along its height and that the relative width of the bars/space are coherent with the symbology's specification. This allow to reduce the number of false positives significantly.
Some symbologies have an optional checksum, for example EBarCodeSymbologies::EBarCodeSymbologies_Code39, for these symbologies, enforcing checksum validation comes at the risk of removing good barcodes that do not have a checksum. See list of supported codes.
By default, validation is enforced when checksum is mandatory for the symbology and for Pharmacodes.
Deprecated, use EBarCodeReader::GetValidateMandatoryChecksum, EBarCodeReader::GetValidateOptionalChecksum and EBarCodeReader::GetValidatePharmacode instead.
Deprecated in version 23.4. Scheduled to be removed in version 27.6.
| bool eVision::EasyBarCode2::EBarCodeReader::GetValidateMandatoryChecksum | ( | ) | const |
Enables/Disables checksum validation for all symbologies for which a checksum is mandatory, for example EBarCodeSymbologies::EBarCodeSymbologies_Code128.
If validation is enabled for symbologies with a mandatory checksum, barcodes of these symbologies with an erroneous checksum will not be returned.
By default, validation is enforced when checksum is mandatory.
| bool eVision::EasyBarCode2::EBarCodeReader::GetValidateOptionalChecksum | ( | ) | const |
Enables/Disables checksum validation for all symbologies for which a checksum is optional, for example EBarCodeSymbologies::EBarCodeSymbologies_Code39.
If validation is enabled for symbologies with an optional checksum, barcodes of these symbologies with an erroneous checksum will not be returned.
By default, validation is not enforced when checksum is optional to avoid removing correct codes.
| bool eVision::EasyBarCode2::EBarCodeReader::GetValidatePharmacode | ( | ) | const |
Enables/Disables validation for the EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack symbology.
Pharmacodes are validated by checking that the barcode is coherent along its height and that the relative width of the bars/space are coherent with the symbology's specification. This allows to reduce the number of false positives significantly.
By default, validation is enforced for Pharmacodes.
| bool eVision::EasyBarCode2::EBarCodeReader::GetValidateWithChecksum | ( | ) | const |
Enables/Disables all barcode validations.
Deprecated, use EBarCodeReader::GetValidateMandatoryChecksum, EBarCodeReader::GetValidateOptionalChecksum and EBarCodeReader::GetValidatePharmacode instead.
Deprecated in version 23.4. Scheduled to be removed in version 27.6.
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EImageBW8 * > & | images | ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| images | Images in which to find the barcodes. |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EImageBW8 * > & | images, |
| bool | keepDefaultScales ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| images | Images in which to find the barcodes. |
| keepDefaultScales | if true, Learning does not remove the scales used by default even if they are useless for the given images. Default: true |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EImageBW8 * > & | images, |
| bool | keepDefaultScales, | ||
| bool | addAllScales ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| images | Images in which to find the barcodes. |
| keepDefaultScales | if true, Learning does not remove the scales used by default even if they are useless for the given images. Default: true |
| addAllScales | if true, Learning adds all of the scales at which a code is detected. Otherwise, the smallest number of scales required to read all of the images is added. Default: true |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EImageBW8 > & | images | ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| images | Images in which to find the barcodes. |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EImageBW8 > & | images, |
| bool | keepDefaultScales ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| images | Images in which to find the barcodes. |
| keepDefaultScales | if true, Learning does not remove the scales used by default even if they are useless for the given images. Default: true |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EImageBW8 > & | images, |
| bool | keepDefaultScales, | ||
| bool | addAllScales ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| images | Images in which to find the barcodes. |
| keepDefaultScales | if true, Learning does not remove the scales used by default even if they are useless for the given images. Default: true |
| addAllScales | if true, Learning adds all of the scales at which a code is detected. Otherwise, the smallest number of scales required to read all of the images is added. Default: true |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EROIBW8 * > & | rois | ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| rois | ROIs in which to find the barcodes. |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EROIBW8 * > & | rois, |
| bool | keepDefaultScales ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| rois | ROIs in which to find the barcodes. |
| keepDefaultScales | if true, Learning does not remove the scales used by default even if they are useless for the given images. Default: true |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EROIBW8 * > & | rois, |
| bool | keepDefaultScales, | ||
| bool | addAllScales ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| rois | ROIs in which to find the barcodes. |
| keepDefaultScales | if true, Learning does not remove the scales used by default even if they are useless for the given images. Default: true |
| addAllScales | if true, Learning adds all of the scales at which a code is detected. Otherwise, the smallest number of scales required to read all of the images is added. Default: true |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EROIBW8 > & | rois | ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| rois | ROIs in which to find the barcodes. |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EROIBW8 > & | rois, |
| bool | keepDefaultScales ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| rois | ROIs in which to find the barcodes. |
| keepDefaultScales | if true, Learning does not remove the scales used by default even if they are useless for the given images. Default: true |
Learning may have two benefits:
| float eVision::EasyBarCode2::EBarCodeReader::Learn | ( | const std::vector< eVision::EROIBW8 > & | rois, |
| bool | keepDefaultScales, | ||
| bool | addAllScales ) |
Learns the best options to use to read the given Images/ROIs. The scales at which we detect barcodes are modified. The other options (symbologies, checksum verification, max number of codes, ...) must be set by the user so that the codes are read correctly.
Returns \(\frac{NumberOfBarCodesLearned}{NumberOfImagesOrROI \times MaxNumCodes}\). If the return value is 0, i.e. no codes are read, the learned parameters are not modified.
| rois | ROIs in which to find the barcodes. |
| keepDefaultScales | if true, Learning does not remove the scales used by default even if they are useless for the given images. Default: true |
| addAllScales | if true, Learning adds all of the scales at which a code is detected. Otherwise, the smallest number of scales required to read all of the images is added. Default: true |
Learning may have two benefits:
| void eVision::EasyBarCode2::EBarCodeReader::Load | ( | const std::string & | file | ) |
Load the reader configuration.
| file | File path. |
| void eVision::EasyBarCode2::EBarCodeReader::Load | ( | eVision::ESerializer * | serializer | ) |
Load the reader configuration.
| serializer | Serializer. Must be in read mode. |
| eVision::EasyBarCode2::EBarCodeReader & eVision::EasyBarCode2::EBarCodeReader::operator= | ( | const eVision::EasyBarCode2::EBarCodeReader & | other | ) |
Copies all the data from another EBarCodeReader object into the current EBarCodeReader object.
| other | EBarCodeReader object to be copied. |
| std::vector< eVision::EasyBarCode2::EBarCode > eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img | ) | const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
| std::vector< eVision::EasyBarCode2::EBarCode > eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::EFrame & | frame ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| frame | Reference frame of the input image |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::EGrid & | grid ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| grid | Grid with cell disabling capabilities |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::EGrid & | grid, | ||
| const eVision::EFrame & | frame ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| grid | Grid with cell disabling capabilities |
| frame | Reference frame of the input image |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERectangleRegion & | area, | ||
| const eVision::EasyBarCode2::EBarCodeGrid & | grid ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| area | Rectangular Region used as the full grid area |
| grid | Grid with cell disabling capabilities |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
Deprecated, use overloads taking an EGrid argument instead.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERectangleRegion & | area, | ||
| const eVision::EasyBarCode2::EBarCodeGrid & | grid, | ||
| float | extension ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| area | Rectangular Region used as the full grid area |
| grid | Grid with cell disabling capabilities |
| extension | Extension of the grid cells to allow cell overlap. For instance, 0.0 means no extension and 0.1 means a 10% cell size extension. default: 0.0 |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
Deprecated, use overloads taking an EGrid argument instead.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERectangleRegion & | area, | ||
| const eVision::EFrame & | frame, | ||
| const eVision::EasyBarCode2::EBarCodeGrid & | grid ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| area | Rectangular Region used as the full grid area |
| frame | Reference frame of the input image |
| grid | Grid with cell disabling capabilities |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
Deprecated, use overloads taking an EGrid argument instead.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERectangleRegion & | area, | ||
| const eVision::EFrame & | frame, | ||
| const eVision::EasyBarCode2::EBarCodeGrid & | grid, | ||
| float | extension ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| area | Rectangular Region used as the full grid area |
| frame | Reference frame of the input image |
| grid | Grid with cell disabling capabilities |
| extension | Extension of the grid cells to allow cell overlap. For instance, 0.0 means no extension and 0.1 means a 10% cell size extension. default: 0.0 |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
Deprecated, use overloads taking an EGrid argument instead.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERectangleRegion & | area, | ||
| const eVision::EFrame & | frame, | ||
| int32_t | numCellsX, | ||
| int32_t | numCellsY ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| area | Rectangular Region used as the full grid area |
| frame | Reference frame of the input image |
| numCellsX | Number of grid cells in the X direction |
| numCellsY | Number of grid cells in the Y direction |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
Deprecated, use overloads taking an EGrid argument instead.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERectangleRegion & | area, | ||
| const eVision::EFrame & | frame, | ||
| int32_t | numCellsX, | ||
| int32_t | numCellsY, | ||
| float | extension ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| area | Rectangular Region used as the full grid area |
| frame | Reference frame of the input image |
| numCellsX | Number of grid cells in the X direction |
| numCellsY | Number of grid cells in the Y direction |
| extension | Extension of the grid cells to allow cell overlap. For instance, 0.0 means no extension and 0.1 means a 10% cell size extension. default: 0.0 |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
Deprecated, use overloads taking an EGrid argument instead.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERectangleRegion & | area, | ||
| int32_t | numCellsX, | ||
| int32_t | numCellsY ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| area | Rectangular Region used as the full grid area |
| numCellsX | Number of grid cells in the X direction |
| numCellsY | Number of grid cells in the Y direction |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
Deprecated, use overloads taking an EGrid argument instead.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| eVision::EasyBarCode2::EBarCodeGrid eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERectangleRegion & | area, | ||
| int32_t | numCellsX, | ||
| int32_t | numCellsY, | ||
| float | extension ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| area | Rectangular Region used as the full grid area |
| numCellsX | Number of grid cells in the X direction |
| numCellsY | Number of grid cells in the Y direction |
| extension | Extension of the grid cells to allow cell overlap. For instance, 0.0 means no extension and 0.1 means a 10% cell size extension. default: 0.0 |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
Deprecated, use overloads taking an EGrid argument instead.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| std::vector< eVision::EasyBarCode2::EBarCode > eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERegion & | region ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| region | Optional region used to reduce the search domain. |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
| std::vector< eVision::EasyBarCode2::EBarCode > eVision::EasyBarCode2::EBarCodeReader::Read | ( | const eVision::EROIBW8 & | img, |
| const eVision::ERegion & | region, | ||
| const eVision::EFrame & | frame ) const |
Finds and reads all the barcodes in the provided Image/ROI.
| img | Image/ROI in which to find the barcodes. |
| region | Optional region used to reduce the search domain. |
| frame | Reference frame of the input image |
The grid overload allows you to disable some cells of the grid if those cells are not supposed to contain barcodes. See the EBarCodeGrid class documentation for more information.
| void eVision::EasyBarCode2::EBarCodeReader::ResetLearning | ( | ) |
Forgets the learned parameter settings and resets them to their default values.
| void eVision::EasyBarCode2::EBarCodeReader::Save | ( | const std::string & | file | ) |
Save the reader configuration.
| file | File path. |
| void eVision::EasyBarCode2::EBarCodeReader::Save | ( | eVision::ESerializer * | serializer | ) |
Save the reader configuration.
| serializer | Serializer. Must be in write mode. |
| void eVision::EasyBarCode2::EBarCodeReader::SetComputeGrading | ( | bool | enable | ) |
Enables or disables the computation of the grades of the read barcodes according to ISO 15416.
At the moment, grading is only supported for EBarCodeSymbologies::EBarCodeSymbologies_Code128, EBarCodeSymbologies::EBarCodeSymbologies_Gs1_128 and EBarCodeSymbologies::EBarCodeSymbologies_Ean13.
| enable | Whether to enable the computation of the grades or not. |
ComputeGrading is disabled by default.
| void eVision::EasyBarCode2::EBarCodeReader::SetEnableAdvancedDecoding | ( | bool | enable | ) |
Enables or disables some advanced decoding for the EBarCodeSymbologies::EBarCodeSymbologies_Code128, EBarCodeSymbologies::EBarCodeSymbologies_Gs1_128 and EBarCodeSymbologies::EBarCodeSymbologies_Ean13 symbologies specifically.
In practice, when this option is set, the reader assumes a character might be badly printed and uses the checksum to correct that character. In rare cases, this option may lead to reading false positives codes.
| enable | Whether to enable advanced decoding or not. |
Advanced decoding is enabled by default.
| void eVision::EasyBarCode2::EBarCodeReader::SetEnablePatternCorrection | ( | bool | enable | ) |
Enables or disables the correction of patterns incorrectly decoded. By pattern, we mean a group of n consecutive strips that is decoded to a single value, these exist in most symbologies.
In practice, when this option is set, the reader matches a badly decoded pattern to the closest one in some cases. In rare cases, this option may lead to reading false positives codes. It has no effect for symbologies with complex decoding (e.g. GS1 DataBar, PDF417) or without patterns (e.g. Pharmacode).
| enable | Whether to enable pattern correction or not. |
Pattern correction is enabled by default.
| void eVision::EasyBarCode2::EBarCodeReader::SetEnablePermissiveDecoding | ( | bool | enable | ) |
Enables or disables the decoding of codes containing partially incorrect information.
In practice, when this option is set, the reader assumes a character might be badly printed and uses the checksum to correct that character. In rare cases, this option may lead to reading false positives codes. It has no effect for symbologies in which a checksum is not mandatory.
| enable | Whether to enable the permissive decoding or not. |
Permissive decoding is enabled by default.
Deprecated, use EBarCodeReader::SetEnablePatternCorrection, EBarCodeReader::SetEnableAdvancedDecoding and EBarCodeReader::SetEnablePrintingErrorCorrection instead. EnablePermissiveDecoding is the combination of AdvancedDecoding and PrintingErrorCorrection.
Deprecated in version 26.6. Scheduled to be removed in version 27.6.
| void eVision::EasyBarCode2::EBarCodeReader::SetEnablePrintingErrorCorrection | ( | bool | enable | ) |
Enables or disables the correction of patterns incorrectly printed. By pattern, we mean a group of n consecutive strips that is decoded to a single value, these exist in most symbologies.
In practice, when this option is set, the reader tries to correct some printing defects. For example some bar or space of a pattern that has a width of 1 module instead of 2. In some cases, this option may lead to reading false positives codes. It has no effect for symbologies with complex decoding (e.g. GS1 DataBar, PDF417) or without patterns (e.g. Pharmacode).
Note that EBarCodeReader::SetEnablePrintingErrorCorrection adds an additional step in the processes enabled by EBarCodeReader::SetEnableAdvancedDecoding and EBarCodeReader::SetEnablePatternCorrection, so it has no effect when they are disabled.
| enable | Whether to enable printing error correction or not. |
Printing error correction is disabled by default.
| void eVision::EasyBarCode2::EBarCodeReader::SetMaxNumCodes | ( | uint32_t | max | ) |
Maximum number of barcodes to find in a single Image/ROI.
By default, this parameter is set to 1.
| void eVision::EasyBarCode2::EBarCodeReader::SetMinModuleSize | ( | float | minModuleSize | ) |
Parameter used before version 24.10. It has currently no effect.
| minModuleSize |
| void eVision::EasyBarCode2::EBarCodeReader::SetReadingOrientation | ( | eVision::EasyBarCode2::EReadingOrientation | orientation | ) |
Some symbologies do not specify start and stop patterns, namely: EBarCodeSymbologies::EBarCodeSymbologies_CodeStk, EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack and EBarCodeSymbologies::EBarCodeSymbologies_BinaryCode. In these cases, we do not know if we should decode the barcode from left to right or from right to left. EBarCodeReader::SetReadingOrientation solves this problem.
The default orientation is EReadingOrientation::EReadingOrientation_LeftToRight.
| void eVision::EasyBarCode2::EBarCodeReader::SetTimeOut | ( | uint64_t | value | ) |
Time-out for the EBarCodeReader::Read method.
If the processing time of one of these functions becomes longer than the set time-out, the processing is stopped and an exception is thrown. In that case, the error code of the exception is EError::EError_TimeoutReached.
The time-out is set in microseconds.
This time-out is not a real time-out. The processing is stopped as soon as possible after the time-out has been reached. This means that the time elapsed effectively in the method can be greater than the time-out itself.
| void eVision::EasyBarCode2::EBarCodeReader::SetUseMinModuleSize | ( | bool | useMinModuleSize | ) |
Parameter used before version 24.10. It has currently no effect.
| useMinModuleSize |
| void eVision::EasyBarCode2::EBarCodeReader::SetValidateBarCode | ( | bool | validate | ) |
Enables/Disables all barcode validations.
If this validation is enabled, barcodes with an erroneous checksum will not be returned.
For the PharmaCodeOneTrack symbology, no checksum is computed. We instead validate that the barcode is coherent along its height and that the relative width of the bars/space are coherent with the symbology's specification. This allow to reduce the number of false positives significantly.
Some symbologies have an optional checksum, for example EBarCodeSymbologies::EBarCodeSymbologies_Code39, for these symbologies, enforcing checksum validation comes at the risk of removing good barcodes that do not have a checksum. See list of supported codes.
By default, validation is enforced when checksum is mandatory for the symbology and for Pharmacodes.
| void eVision::EasyBarCode2::EBarCodeReader::SetValidateMandatoryChecksum | ( | bool | validate | ) |
Enables/Disables checksum validation for all symbologies for which a checksum is mandatory, for example EBarCodeSymbologies::EBarCodeSymbologies_Code128.
If validation is enabled for symbologies with a mandatory checksum, barcodes of these symbologies with an erroneous checksum will not be returned.
By default, validation is enforced when checksum is mandatory.
| void eVision::EasyBarCode2::EBarCodeReader::SetValidateOptionalChecksum | ( | bool | validate | ) |
Enables/Disables checksum validation for all symbologies for which a checksum is optional, for example EBarCodeSymbologies::EBarCodeSymbologies_Code39.
If validation is enabled for symbologies with an optional checksum, barcodes of these symbologies with an erroneous checksum will not be returned.
By default, validation is not enforced when checksum is optional to avoid removing correct codes.
| void eVision::EasyBarCode2::EBarCodeReader::SetValidatePharmacode | ( | bool | validate | ) |
Enables/Disables validation for the EBarCodeSymbologies::EBarCodeSymbologies_PharmacodeOneTrack symbology.
Pharmacodes are validated by checking that the barcode is coherent along its height and that the relative width of the bars/space are coherent with the symbology's specification. This allows to reduce the number of false positives significantly.
By default, validation is enforced for Pharmacodes.
| void eVision::EasyBarCode2::EBarCodeReader::SetValidateWithChecksum | ( | bool | validate | ) |
Enables/Disables all barcode validations.
| CppWrapperInternal::WrappedClass eVision::EasyBarCode2::EBarCodeReader::wrappedClass_ |