Resource Base
Table of contents

Thanks for downloading Dynamsoft Barcode Reader Package!

Your download will start shortly. If your download does not begin, click here to retry.

ScaleUpModes

ScaleUpModes is a parameter to control the process for scaling up an image used for detecting barcodes with small module size. It consisits 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

CCM_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 LibraryFileName (Optional) Sets the Argument LibraryFileName.

JSON Parameter Example

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

Impacts on Performance

Speed

The SDK will loop the setting modes one by one until find as many barcodes as ExpectedBarcodesCount specified or timeout. The more modes you set, the more time the process may take. Setting an appropriate mode first in order or setting only necessary modes may speed up the process.

Read Rate

Setting more modes along with different arguments may improve the Read Rate. For barcodes with small module size, setting this parameter may improve the Read Rate.

Accuracy

ScaleUpModes has no influence on the Accuracy.

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:

Version 7.5.0

Is this page helpful?

YesYes NoNo

In this article:

latest version

    • Latest version
    • Version 8.6.0
    • Version 8.4.0
    • Version 8.2.5
    • Version 8.2.3
    • Version 8.2.1
    • Version 8.2.0
    • Version 8.1.3
    • Version 8.1.2
    • Version 8.1.0
    • Version 8.0.0
    • Version 7.6.0
    • Version 7.5.0
    Change +
    © 2003–2021 Dynamsoft. All rights reserved.
    Privacy Statement / Site Map / Home / Purchase / Support