Table of contents

ScaleUpModes

ScaleUpModes determines the process for scaling up an image used for detecting barcodes with small module size. It consists of one or more modes, each mode represents a way to implement the scale-up.

Candidate Mode List

  • SUM_AUTO
  • SUM_LINEAR_INTERPOLATION
  • SUM_NEAREST_NEIGHBOUR_INTERPOLATION

SUM_AUTO

Lets the library choose a mode automatically.

SUM_LINEAR_INTERPOLATION

Scales up using the linear interpolation method. This mode has the following arguments for further customizing.

SUM_NEAREST_NEIGHBOUR_INTERPOLATION

Scales up using the linear interpolation method. This mode has the following arguments for further customizing.

Setting Methods

As PublicRuntimeSettings Member

ScaleUpModes can be set dynamically during runtime as a member of FurtherModes, which is a member of PublicRuntimeSettings struct, it is an array with 8 ScaleUpMode Enumeration items.

Code Snippet in C++

//...other codes
PublicRuntimeSettings* pSettings = new PublicRuntimeSettings;
int errorCode = reader->GetRuntimeSettings(pSettings);
pSettings->scaleUpModes[0] = SUM_LINEAR_INTERPOLATION;
reader->UpdateRuntimeSettings(pSettings);
reader->SetModeArgument("ScaleUpModes", 0, "ModuleSizeThreshold", "4");
delete pSettings;
//...other codes

Remarks
GetModeArgument and SetModeArgument need to be called for getting and setting Arguments.

See Also

As JSON Parameter

ScaleUpModes 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 scaling up an image.
AcuteAngleWithXThreshold A number from value range of AcuteAngleWithXThreshold (Optional) Sets the Argument AcuteAngleWithXThreshold.
ModuleSizeThreshold A number from value range of ModuleSizeThreshold (Optional) Sets the Argument modulesizethreshold.
TargetModuleSize A number from value range of TargetModuleSize (Optional) Sets the Argument TargetModuleSize.
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

{
    "ScaleUpModes": [
        {
            "Mode": "SUM_LINEAR_INTERPOLATION", 
            "ModuleSizeThreshold": 4,
            "TargetModuleSize": 8
        },
        {
            "Mode": "SUM_NEAREST_NEIGHBOUR_INTERPOLATION", 
            "ModuleSizeThreshold": 4,
            "TargetModuleSize": 6
        }
    ]
}

Candidate Argument List

AcuteAngleWithXThreshold

Sets the acute angle threshold for scale-up.

Value Type Value Range Default Value Valid For
int [-1, 90] -1 SUM_LINEAR_INTERPOLATION
SUM_NEAREST_NEIGHBOUR_INTERPOLATION

Remarks

  • -1: means automatically set by the library.
  • If the module size of the barcode is smaller than the ModuleSizeThreshold and the acute angle with X of the barcode is larger than the AcuteAngleWithXThreshold, the barcode will be enlarged by a scale factor of N (the value of N is a power of 2) till N * modulesize >= TargetModuleSize.

ModuleSizeThreshold

Sets the module size threshold for scale-up.

Value Type Value Range Default Value Valid For
int [0, 0x7fffffff] 0 SUM_LINEAR_INTERPOLATION
SUM_NEAREST_NEIGHBOUR_INTERPOLATION

Remarks

  • 0: means automatically set by the library.
  • If the module size of the barcode is smaller than the ModuleSizeThreshold and the acute angle with X of the barcode is larger than the AcuteAngleWithXThreshold, the barcode will be enlarged by a scale factor of N (the value of N is a power of 2) till N * modulesize >= TargetModuleSize.

TargetModuleSize

Sets the target module size for scale-up.

Value Type Value Range Default Value Valid For
int [0, 0x7fffffff] 0 SUM_LINEAR_INTERPOLATION
SUM_NEAREST_NEIGHBOUR_INTERPOLATION

Remarks

  • 0: means automatically set by the library.
  • If the module size of the barcode is smaller than the ModuleSizeThreshold and the acute angle with X of the barcode is larger than the AcuteAngleWithXThreshold, the barcode will be enlarged by a scale factor of N (the value of N is a power of 2) till N * modulesize >= TargetModuleSize.

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: