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
FurtherModes:
C | C++ | .NET | Java | Java-Android | Objective-C & SwiftPublicRuntimeSettings:
JavaScript | C | C++ | .NET | Python | Java | Java-Android | Objective-C & SwiftScaleUpMode:
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
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 |