Dev Center
Table of contents

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

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

This page is compatible for:

Is this page helpful?

YesYes NoNo

In this article:

latest version

  • Latest version
  • Version 10.x
    • Version 10.2.0
    • Version 10.0.21
    • Version 10.0.20
    • Version 10.0.10
    • Version 10.0.0
  • Version 9.x
    • Version 9.6.42
    • Version 9.6.40
    • Version 9.6.33
    • Version 9.6.32
    • Version 9.6.31
    • Version 9.6.30
    • Version 9.6.20
    • Version 9.6.10
    • Version 9.6.0
    • Version 9.4.0
    • Version 9.2.0
    • Version 9.0.0
  • Version 8.x
    • Version 8.8.0
    • Version 8.6.0
    • Version 8.4.0
    • Version 8.2.0
    • Version 8.1.2
    • Version 8.1.0
    • Version 8.0.0
  • Version 7.x
    • Version 7.6.0
    • Version 7.5.0
  • Documentation Homepage
Change +