LocalizationModes
LocalizationModes
determines how to localize barcodes. It consists of one or more modes, each mode representing a different localization process.
Candidate Mode List
- LM_CONNECTED_BLOCKS
- LM_STATISTICS
- LM_LINES
- LM_SCAN_DIRECTLY
- LM_STATISTICS_MARKS
- LM_STATISTICS_POSTAL_CODE
- LM_CENTRE
- LM_ONED_FAST_SCAN
LM_CONNECTED_BLOCKS
Localizes barcodes by searching for connected blocks. This algorithm usually gives best result and it is recommended to set ConnectedBlocks to the highest priority. This mode has the following arguments for further customizing.
LM_STATISTICS
Localizes barcodes by groups of contiguous black-white regions. This is optimized for QRCode and DataMatrix. This mode has the following arguments for further customizing.
LM_LINES
Localizes barcodes by searching for groups of lines. This is optimized for 1D and PDF417 barcodes. This mode has the following arguments for further customizing.
LM_SCAN_DIRECTLY
Localizes barcodes quickly. This mode is recommended in interactive scenario. This mode has the following arguments for further customizing.
LM_STATISTICS_MARKS
Localizes barcodes by groups of marks.This is optimized for DPM codes. This mode has the following arguments for further customizing.
LM_STATISTICS_POSTAL_CODE
Localizes barcodes by groups of connected blocks and lines.This is optimized for postal codes. This mode has the following arguments for further customizing.
LM_CENTRE
Localizes barcodes from the centre of the image. This mode has the following arguments for further customizing.
LM_ONED_FAST_SCAN
Localizes 1D barcodes in a fast mode. This mode is designed for reading 1D barcodes in a very fast mode. This mode has the following arguments for further customizing.
Setting Methods
As PublicRuntimeSettings
Member
LocalizationModes
can be set dynamically during runtime as a member of PublicRuntimeSettings
struct, it is an array with 8 LocalizationMode
Enumeration items.
Code Snippet in C++
//...other codes
PublicRuntimeSettings* pSettings = new PublicRuntimeSettings;
int errorCode = reader->GetRuntimeSettings(pSettings);
pSettings->localizationModes[0] = LM_SCAN_DIRECTLY;
pSettings->localizationModes[1] = LM_CONNECTED_BLOCKS;
reader->UpdateRuntimeSettings(pSettings);
reader->SetModeArgument("LocalizationModes", 0, "ScanStride", "5");
delete pSettings;
//...other codes
Remarks
GetModeArgument
and SetModeArgument
need to be called for getting and setting Arguments
.
See Also
PublicRuntimeSettings:
JavaScript | C | C++ | .NET | Python | Java | Java-Android | Objective-C & SwiftLocalizationMode:
JavaScript | C | C++ | .NET | Python | Java | Java-Android | Objective-C & SwiftGetModeArgument:
JavaScript | C | C++ | .NET | Python | Java | Java-Android | Objective-C & SwiftSetModeArgument:
JavaScript | C | C++ | .NET | Python | Java | Java-Android | Objective-C & Swift
As JSON Parameter
LocalizationModes
as a JSON parameter is a JSON Object array. Each JSON object is defined as below.
Key Name | Key Value | Description |
---|---|---|
Mode | Any one in Candidate Mode List as string | (Required) Specifies a mode for deformation resisting. |
ScanStride | A number from value range of ScanStride | (Optional) Sets the Argument ScanStride. |
ScanDirection | A number from value range of ScanDirection | (Optional) Sets the Argument ScanDirection. |
ConfidenceThreshold | A number from value range of ConfidenceThreshold | (Optional) Sets the Argument ConfidenceThreshold. |
IsOneDStacked | A number from value range of IsOneDStacked | (Optional) Sets the Argument IsOneDStacked. |
LibraryFileName | A string from value range of LibraryFileName | (Optional) Sets the Argument LibraryFileName. |
LibraryParameters | A string from value range of LibraryParameters | (Optional) Sets the Argument LibraryParameters. |
JSON Parameter Example
{
"LocalizationModes": [
{
"Mode": "LM_SCAN_DIRECTLY",
"ScanStride": 5
},
{
"Mode": "LM_CONNECTED_BLOCKS"
}
]
}
Candidate Argument List
ScanStride
Sets the stride in pixels between scans when searching for barcodes.
Value Type | Value Range | Default Value | Valid For |
---|---|---|---|
int | [0, 0x7fffffff] | 0 | LM_SCAN_DIRECTLY LM_ONED_FAST_SCAN |
Remarks
- 0: automatically set by the library.
- When the set value is greater than half the width or height of current image, the actual processing is 0.
Performance Adaptability
A smaller value may improve the Read Rate but slow down the Speed.
ScanDirection
Sets the scan direction when searching barcode.
Value Type | Value Range | Default Value | Valid For |
---|---|---|---|
int | [0, 2] | 0 | LM_SCAN_DIRECTLY LM_ONED_FAST_SCAN |
Remarks
- 0: Both vertical and horizontal direction.
- 1: Vertical direction.
- 2: Horizontal direction.
ConfidenceThreshold
Sets the confidence threshold.
Value Type | Value Range | Default Value | Valid For |
---|---|---|---|
int | [0, 100] | 60 | LM_ONED_FAST_SCAN |
Remarks
- The localization result will be discarded if its confidence is less then the threshold.
IsOneDStacked
Sets whether the oned barcodes are stacked.
Value Type | Value Range | Default Value | Valid For |
---|---|---|---|
int | [0, 1] | 0 | LM_SCAN_DIRECTLY |
LibraryFileName
Sets the file name of the library to load dynamically.
Value Type | Value Range | Default Value | Valid For |
---|---|---|---|
string | A string value representing file name. | ”” | All modes |
Remarks
The library must be in the same place with Dynamsoft Barcode Reader Library.
LibraryParameters
Sets the parameters passed to the library to load dynamically.
Value Type | Value Range | Default Value | Valid For |
---|---|---|---|
string | A string value representing parameters. | ”” | All modes |