From d2f4acec2eae77226ac1a6610fabfaeafbb38dd9 Mon Sep 17 00:00:00 2001 From: DMGithubPublisher Date: Thu, 10 Oct 2024 16:06:15 +0800 Subject: [PATCH] update to internal commit 65f68769 --- _config.yml | 27 ++- _data/full_tree.yml | 1 + _includes/sidelist-development.html | 8 +- _includes/sidelist-parameter-reference.html | 162 +++++++++--------- .../sidelist-parameters-organization.html | 14 +- _includes/sidelist-understanding.html | 14 +- assets/js/dbrCoreVersionSearch.json | 12 ++ index.md | 50 ++---- introduction/architecture.md | 14 +- parameters/reference/index.md | 156 ++++++++--------- .../structure-and-interfaces-of-parameters.md | 2 +- performance/accuracy.md | 12 +- performance/read-rate.md | 34 ++-- performance/speed.md | 44 ++--- programming/features/barcode-scan-region.md | 2 +- .../features/control-terminate-phase.md | 2 +- programming/features/filter-and-sort.md | 20 +-- programming/features/preprocess-images.md | 4 +- .../read-barcodes-with-imbalanced-colour.md | 2 +- .../read-barcodes-with-small-module-size.md | 2 +- .../read-barcodes-with-uneven-lighting.md | 2 +- .../features/read-deformed-barcodes.md | 2 +- .../features/read-images-with-lots-of-text.md | 2 +- .../features/read-images-with-texture.md | 2 +- .../features/read-incomplete-barcodes.md | 2 +- .../features/read-inverted-barcodes.md | 2 +- .../features/use-intermidiate-results.md | 2 +- .../features/use-region-predetection.md | 2 +- .../use-runtimesettings-or-templates.md | 2 +- programming/usecases/read-dpm-codes.md | 2 +- programming/usecases/read-postal-codes.md | 2 +- 31 files changed, 295 insertions(+), 309 deletions(-) diff --git a/_config.yml b/_config.yml index 0413e73f..eac61cb2 100644 --- a/_config.yml +++ b/_config.yml @@ -6,17 +6,12 @@ docHomePage: /barcode-reader/docs/core/ useVersionTree: true -architecture: /capture-vision/docs/core/architecture/ introduction: /barcode-reader/docs/core/introduction/ comparison_tools: /barcode-reader/docs/core/introduction/comparison-tools/ programming: /barcode-reader/docs/core/programming/ features: /barcode-reader/docs/core/programming/features/ -dcv_parameters: /capture-vision/docs/core/parameters/ -dcv_parameters_reference: /capture-vision/docs/core/parameters/reference/ -dcv_enumerations: /capture-vision/docs/core/enums/ - parameters: /barcode-reader/docs/core/parameters/ parameters_reference: /barcode-reader/docs/core/parameters/reference/ image_parameters: /barcode-reader/docs/core/parameters/reference/image-parameter/ @@ -39,7 +34,6 @@ cpp: /barcode-reader/docs/server/programming/cplusplus/ cpp_api: /barcode-reader/docs/server/programming/cplusplus/api-reference/ cpp_methods: /barcode-reader/docs/server/programming/cplusplus/api-reference/cbarcodereader-methods/ cpp_release_notes: /barcode-reader/docs/server/programming/cplusplus/release-notes/ -dcv_cpp_api: /capture-vision/docs/server/programming/cplusplus/api-reference/ js: /barcode-reader/docs/web/programming/javascript/ js_api: /barcode-reader/docs/web/programming/javascript/api-reference/ @@ -85,18 +79,19 @@ java_enumerations: /barcode-reader/docs/server/programming/java/api-reference/en mobile_enumerations: /barcode-reader/docs/mobile/programming/enumeration/ mobile_assets: /barcode-reader/docs/mobile/programming/assets/ +dcv_parameters: /capture-vision/docs-archive/core/parameters/ +dcv_parameters_reference: /capture-vision/docs-archive/core/parameters/reference/ -flutter: /capture-vision/docs/mobile/programming/flutter/ -flutter_api: /capture-vision/docs/mobile/programming/flutter/api-reference/ - -xamarin: /capture-vision/docs/mobile/programming/xamarin/ -xamarin_api: /capture-vision/docs/mobile/programming/xamarin/api-reference/ - -cordova: /capture-vision/docs/mobile/programming/cordova/ -cordova_api: /capture-vision/docs/mobile/programming/cordova/api-reference/ +dcv_flutter: /capture-vision/docs-archive/mobile/programming/flutter/ +dcv_xamarin: /capture-vision/docs-archive/mobile/programming/xamarin/ +dcv_cordova: /capture-vision/docs-archive/mobile/programming/cordova/ +dcv_react_native: /capture-vision/docs-archive/mobile/programming/react-native/ -react_native: /capture-vision/docs/mobile/programming/react-native/ -react_native_api: /capture-vision/docs/mobile/programming/react-native/api-reference/ +dcvb_architecture: /capture-vision/docs/core/architecture/ +dcvb_parameters: /capture-vision/docs/core/parameters/ +dcvb_parameters_reference: /capture-vision/docs/core/parameters/reference/ +dcvb_enumerations: /capture-vision/docs/core/enums/ +dcvb_cpp_api: /capture-vision/docs/server/programming/cplusplus/api-reference/ maui: /barcode-reader/docs/mobile/programming/maui/ maui_api: /barcode-reader/docs/mobile/programming/maui/api-reference/ diff --git a/_data/full_tree.yml b/_data/full_tree.yml index b22dc127..4d031199 100644 --- a/_data/full_tree.yml +++ b/_data/full_tree.yml @@ -14,6 +14,7 @@ tree_file_list: - sidelist-parameter-reference.html - sidelist-parameter-reference-v10.0.0.html - sidelist-parameter-reference-v10.0.10.html + - sidelist-parameter-reference-v10.0.20.html - sidelist-parameters-organization.html - sidelist-performance.html - sidelist-performance-v9.6.42.html diff --git a/_includes/sidelist-development.html b/_includes/sidelist-development.html index 48373378..64cef837 100644 --- a/_includes/sidelist-development.html +++ b/_includes/sidelist-development.html @@ -7,10 +7,10 @@
  • Android
  • iOS
  • MAUI
  • -
  • React Native
  • -
  • Flutter
  • -
  • Xamarin.Forms
  • -
  • Cordova
  • +
  • React Native
  • +
  • Flutter
  • +
  • Xamarin.Forms
  • +
  • Cordova
  • diff --git a/_includes/sidelist-parameter-reference.html b/_includes/sidelist-parameter-reference.html index 94296f42..9fb538a0 100644 --- a/_includes/sidelist-parameter-reference.html +++ b/_includes/sidelist-parameter-reference.html @@ -1,182 +1,182 @@
  • Capture Vision Template
  • Target ROI Def
  • Barcode Reader Task Setting
  • Image Parameter
  • Barcode Format Specification
  • Image Source
  • -
  • Output Task Settings +
  • Output Task Settings
  • Global Parameter
  • diff --git a/_includes/sidelist-parameters-organization.html b/_includes/sidelist-parameters-organization.html index ebd75efc..df4cdb81 100644 --- a/_includes/sidelist-parameters-organization.html +++ b/_includes/sidelist-parameters-organization.html @@ -1,22 +1,22 @@
  • Parameter Organization diff --git a/_includes/sidelist-understanding.html b/_includes/sidelist-understanding.html index 6dcf74c2..870744a4 100644 --- a/_includes/sidelist-understanding.html +++ b/_includes/sidelist-understanding.html @@ -1,21 +1,21 @@
  • UNDERSTANDING DBR
  • Architecture
  • {%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath targetRelativePath="sidelist-performance.html" -%} diff --git a/assets/js/dbrCoreVersionSearch.json b/assets/js/dbrCoreVersionSearch.json index cabe159b..4e4ae006 100644 --- a/assets/js/dbrCoreVersionSearch.json +++ b/assets/js/dbrCoreVersionSearch.json @@ -1,4 +1,16 @@ [ + { + "version": "10.4.2000", + "matchVersion": { + "dcv": "2.4.2000" + } + }, + { + "version": "10.2.1201", + "matchVersion": { + "dcv": "2.2.3201" + } + }, { "version": "10.4.10", "matchList": { diff --git a/index.md b/index.md index c49800db..61fd6c75 100644 --- a/index.md +++ b/index.md @@ -4,49 +4,27 @@ title: Dynamsoft Barcode Reader SDK Documentation keywords: dynamsoft barcode reader, dbr, documentation breadcrumbText: HomePage description: Dynamsoft Barcode Reader SDK Documentation Homepage -permalink: /index.html --- # Dynamsoft Barcode Reader Documentation -* [Introduction]({{ site.introduction }}) +To explore the latest features and updates of `Dynamsoft Barcode Reader`, please refer to the documentation sections below. -
    -DEVELOPMENT -
    - -* [Web (Client Side)]({{ site.js }}) +* [Web (Client Side)]({{ site.js }}){:target="_blank"} * Mobile * [Android]({{ site.android }}){:target="_blank"} * [iOS]({{ site.oc }}){:target="_blank"} * [MAUI]({{ site.maui }}){:target="_blank"} - * React Native - * Flutter - * Xamarin.Forms - * Cordova * Server / Desktop - * [Python]({{ site.python }}) - * [Java]({{ site.java }}) - * [.NET]({{ site.dotnet }}) - * [C++]({{ site.cpp }}) - * [C]({{ site.c }}) - -
    -UNDERSTANDING DBR -
    - -* [Algorithm Principles]({{ site.introduction }}architecture.html) -* [Template Structure]({{ site.parameters }}structure-and-interfaces-of-parameters.html) -* [Parameter Reference]({{ site.parameters_reference }}) -* [Performance]({{ site.performance }}) - -
    -USEFUL RESOURCES -
    - -* [Release Notes]({{ site.release_notes }}) -* [License]({{ site.license_activation }}) - * [Set Trial License]({{ site.license_activation }}set-trial-license.html) - * [Set Full License in version 8]({{ site.license_activation }}set-full-license-8.html) - * [Set Full License in version 7]({{ site.license_activation }}set-full-license-7.html) -* [FAQ]({{ site.faq }}general/) + * [Python]({{ site.python }}){:target="_blank"} + * [Java]({{ site.java }}){:target="_blank"} + * [.NET]({{ site.dotnet }}){:target="_blank"} + * [C++]({{ site.cpp }}){:target="_blank"} + * [C]({{ site.c }}){:target="_blank"} + +The documentation for editions `React Native`, `Flutter`, `Xamarin.Forms` and `Cordova` has been archived, but remains accessible through the following links: + +* [Archived React Native Edition Documentation]({{ site.dcv_react_native }}){:target="_blank"} +* [Archived Flutter Edition Documentation]({{ site.dcv_flutter }}){:target="_blank"} +* [Archived Xamarin.Forms Edition Documentation]({{ site.dcv_xamarin }}){:target="_blank"} +* [Archived Cordova Edition Documentation]({{ site.dcv_cordova }}){:target="_blank"} \ No newline at end of file diff --git a/introduction/architecture.md b/introduction/architecture.md index d748135a..d402f194 100644 --- a/introduction/architecture.md +++ b/introduction/architecture.md @@ -12,13 +12,13 @@ permalink: /introduction/architecture.html Starting in version 10.0, Dynamsoft Barcode Reader is restructured under Dynamsoft Capture Vision Framework. -Read [Dynamsoft Capture Vision Architecture]({{ site.architecture }}index.html) to learn the overall architecture of the framework. +Read [Dynamsoft Capture Vision Architecture]({{ site.dcvb_architecture }}index.html) to learn the overall architecture of the framework. The following articles describe the processes involved when using Dynamsoft Barcode Reader -- [Input]({{ site.architecture }}input.html) -- [Region Pre-detection]({{ site.architecture }}image-processing/region-predetection.html) -- [Shared Detection]({{ site.architecture }}image-processing/shared-detection.html) -- [Barcode Localization]({{ site.architecture }}image-processing/barcode-localization.html) -- [Barcode Decoding]({{ site.architecture }}image-processing/barcode-decoding.html) -- [Output]({{ site.architecture }}output.html) \ No newline at end of file +- [Input]({{ site.dcvb_architecture }}input.html) +- [Region Pre-detection]({{ site.dcvb_architecture }}image-processing/region-predetection.html) +- [Shared Detection]({{ site.dcvb_architecture }}image-processing/shared-detection.html) +- [Barcode Localization]({{ site.dcvb_architecture }}image-processing/barcode-localization.html) +- [Barcode Decoding]({{ site.dcvb_architecture }}image-processing/barcode-decoding.html) +- [Output]({{ site.dcvb_architecture }}output.html) \ No newline at end of file diff --git a/parameters/reference/index.md b/parameters/reference/index.md index 63c291bc..0c3cff7c 100644 --- a/parameters/reference/index.md +++ b/parameters/reference/index.md @@ -12,112 +12,112 @@ needAutoGenerateSidebar: false | Parameter Name | Description | | -------------- | ----------- | -| [`ImageROIProcessingNameArray`]({{ site.dcv_parameters_reference }}capture-vision-template/image-roi-processing-name-array.html) | Defines the collection of image ROI processing object names, used to refer to the `TargetROIDef` objects. | -| [`ImageSourceName`]({{ site.dcv_parameters_reference }}capture-vision-template/image-source-name.html) | Indicates the input source name, used to refer to the `ImageSource` object. | -| [`MaxParallelTasks`]({{ site.dcv_parameters_reference }}capture-vision-template/max-parallel-tasks.html) | Defines the maximum number of parallel tasks for the DCV runtime. | -| [`MinImageCaptureInterval`]({{ site.dcv_parameters_reference }}capture-vision-template/min-image-capture-interval.html) | Specifies the minimum time interval (in milliseconds) allowed between consecutive image captures. | -| [`Name`]({{ site.dcv_parameters_reference }}capture-vision-template/name.html) | Defines the name of a `CaptureVisionTemplate` object, which serves as its unique identifier. | -| [`OutputOriginalImage`]({{ site.dcv_parameters_reference }}capture-vision-template/output-original-Image.html) | Indicates whether DCV finally outputs the original input image. | -| [`Timeout`]({{ site.dcv_parameters_reference }}capture-vision-template/timeout.html) | Defines the maximum amount of time (in milliseconds) that should be spent processing each image or frame. | +| [`ImageROIProcessingNameArray`]({{ site.dcvb_parameters_reference }}capture-vision-template/image-roi-processing-name-array.html) | Defines the collection of image ROI processing object names, used to refer to the `TargetROIDef` objects. | +| [`ImageSourceName`]({{ site.dcvb_parameters_reference }}capture-vision-template/image-source-name.html) | Indicates the input source name, used to refer to the `ImageSource` object. | +| [`MaxParallelTasks`]({{ site.dcvb_parameters_reference }}capture-vision-template/max-parallel-tasks.html) | Defines the maximum number of parallel tasks for the DCV runtime. | +| [`MinImageCaptureInterval`]({{ site.dcvb_parameters_reference }}capture-vision-template/min-image-capture-interval.html) | Specifies the minimum time interval (in milliseconds) allowed between consecutive image captures. | +| [`Name`]({{ site.dcvb_parameters_reference }}capture-vision-template/name.html) | Defines the name of a `CaptureVisionTemplate` object, which serves as its unique identifier. | +| [`OutputOriginalImage`]({{ site.dcvb_parameters_reference }}capture-vision-template/output-original-Image.html) | Indicates whether DCV finally outputs the original input image. | +| [`Timeout`]({{ site.dcvb_parameters_reference }}capture-vision-template/timeout.html) | Defines the maximum amount of time (in milliseconds) that should be spent processing each image or frame. | ## Target ROI Def | Parameter Name | Description | | --------------- | ----------- | -| [`BaseTargetROIDefName`]({{ site.dcv_parameters_reference }}target-roi-def/base-target-roidef-name.html) | Represents the name of another `TargetROIDef` object to inherit from. | -| [`Location`]({{ site.dcv_parameters_reference }}target-roi-def/location.html) | Defines the location of the TargetROI with `reference objects` filter conditions and `offset` parameters. | -| [`Name`]({{ site.dcv_parameters_reference }}target-roi-def/name.html) | Defines the name of a `TargetROIDef` object, which serves as its unique identifier. | -| [`PauseFlag`]({{ site.dcv_parameters_reference }}target-roi-def/pause-flag.html) | Indicates that the region results generated by this `TargetROIDef` will not be used by other `TargetROIDef` objects that depend on it to calculate the target regions, unless the user explicitly performs an update operation. | -| [`TaskSettingNameArray`]({{ site.dcv_parameters_reference }}target-roi-def/task-setting-name-array.html) | Parameter `TaskSettingNameArray` represents the collection of task setting object names, used to refer to the `BarcodeReaderTaskSetting`, `LabelRecognizerTaskSetting`, `DocumentNormalizerTaskSetting` objects. | +| [`BaseTargetROIDefName`]({{ site.dcvb_parameters_reference }}target-roi-def/base-target-roidef-name.html) | Represents the name of another `TargetROIDef` object to inherit from. | +| [`Location`]({{ site.dcvb_parameters_reference }}target-roi-def/location.html) | Defines the location of the TargetROI with `reference objects` filter conditions and `offset` parameters. | +| [`Name`]({{ site.dcvb_parameters_reference }}target-roi-def/name.html) | Defines the name of a `TargetROIDef` object, which serves as its unique identifier. | +| [`PauseFlag`]({{ site.dcvb_parameters_reference }}target-roi-def/pause-flag.html) | Indicates that the region results generated by this `TargetROIDef` will not be used by other `TargetROIDef` objects that depend on it to calculate the target regions, unless the user explicitly performs an update operation. | +| [`TaskSettingNameArray`]({{ site.dcvb_parameters_reference }}target-roi-def/task-setting-name-array.html) | Parameter `TaskSettingNameArray` represents the collection of task setting object names, used to refer to the `BarcodeReaderTaskSetting`, `LabelRecognizerTaskSetting`, `DocumentNormalizerTaskSetting` objects. | ## Barcode Reader Task Setting | Parameter Name | Description | | -------------- | ----------- | -| [`BarcodeColourModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-colour-modes.html) | Defines the barcode colour modes. | -| [`BarcodeComplementModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html) | Defines how to complement the missing parts of a barcode. | -| [`BarcodeFormatIds`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) | Defines the formats of the barcode to process. | -| [`BaseBarcodeReaderTaskSettingName`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/base-barcode-reader-task-setting-name.html) | Represents the name of another `BarcodeReaderTaskSetting` object to inherit from. | -| [`DeblurModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) | Defines the mode and priority for deblurring. | -| [`DeformationResistingModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html) | Defines how to handle distorted and deformed barcodes. | -| [`DPMCodeReadingModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html) | Defines how to read direct part mark (DPM) barcodes. | -| [`ExpectedBarcodesCount`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/expected-barcodes-count.html) | Defines the number of barcodes expected to be detected. | -| [`LocalizationModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/localization-modes.html) | Defines how to localize barcodes. | -| [`MaxThreadsInOneTask`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) | Defines the maximum threads that can be consumed in one task. | -| [`Name`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/name.html) | Defines the name of a `BarcodeReaderTaskSetting` object, which serves as its unique identifier. | -| [`ReturnBarcodeZoneClarity`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/return-barcode-zone-clarity.html) | Defines whether to return the clarity of the barcode zone. | -| [`SectionImageParameterArray`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/section-image-parameter-array.html) | Defines `ImageParameter` in section unit. | -| [`StartSection`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/start-section.html) | Defines the start section of the algorithm task. | -| [`TerminateSetting`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/terminate-setting.html) | Defines the terminate stages of the task. | -| [`TextResultOrderModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/text-result-order-modes.html) | Defines the order of the returned text results. | +| [`BarcodeColourModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-colour-modes.html) | Defines the barcode colour modes. | +| [`BarcodeComplementModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html) | Defines how to complement the missing parts of a barcode. | +| [`BarcodeFormatIds`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) | Defines the formats of the barcode to process. | +| [`BaseBarcodeReaderTaskSettingName`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/base-barcode-reader-task-setting-name.html) | Represents the name of another `BarcodeReaderTaskSetting` object to inherit from. | +| [`DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) | Defines the mode and priority for deblurring. | +| [`DeformationResistingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html) | Defines how to handle distorted and deformed barcodes. | +| [`DPMCodeReadingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html) | Defines how to read direct part mark (DPM) barcodes. | +| [`ExpectedBarcodesCount`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/expected-barcodes-count.html) | Defines the number of barcodes expected to be detected. | +| [`LocalizationModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html) | Defines how to localize barcodes. | +| [`MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) | Defines the maximum threads that can be consumed in one task. | +| [`Name`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/name.html) | Defines the name of a `BarcodeReaderTaskSetting` object, which serves as its unique identifier. | +| [`ReturnBarcodeZoneClarity`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/return-barcode-zone-clarity.html) | Defines whether to return the clarity of the barcode zone. | +| [`SectionImageParameterArray`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/section-image-parameter-array.html) | Defines `ImageParameter` in section unit. | +| [`StartSection`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/start-section.html) | Defines the start section of the algorithm task. | +| [`TerminateSetting`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/terminate-setting.html) | Defines the terminate stages of the task. | +| [`TextResultOrderModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/text-result-order-modes.html) | Defines the order of the returned text results. | ## ImageParameter | Parameter Name | Description | | ---------------------------------- | ----------- | -| [`BaseImageParameterName`]({{ site.dcv_parameters_reference }}image-parameter/base-image-parameter-name.html) | Represents the name of another `ImageParameter` object to inherit from. | -| [`BinarizationModes`]({{ site.dcv_parameters_reference }}image-parameter/binarization-modes.html) | Defines the process of binarization | -| [`ColourConversionModes`]({{ site.dcv_parameters_reference }}image-parameter/colour-conversion-modes.html) | Defines how to convert a colour image to a grayscale image. | -| [`GrayscaleEnhancementModes`]({{ site.dcv_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) | Defines the image processing methods to enhance the quality of the grayscale image. | -| [`GrayscaleTransformationModes`]({{ site.dcv_parameters_reference }}image-parameter/grayscale-transformation-modes.html) | Defines whether or not to invert the color of the grayscale image. | -| [`IfEraseTextZone`]({{ site.dcv_parameters_reference }}image-parameter/if-erase-text-zone.html) | Defines whether to erase the detected text zone. | -| [`Name`]({{ site.dcv_parameters_reference }}image-parameter/name.html) | Defines the name of a `ImageParameter` object, which serves as its unique identifier. | -| [`RegionPredetectionModes`]({{ site.dcv_parameters_reference }}image-parameter/region-predetection-modes.html) | Defines how to find a region of interest (ROI) within the image or frame. | -| [`ScaleDownThreshold`]({{ site.dcv_parameters_reference }}image-parameter/scale-down-threshold.html) | Defines the threshold for image shrinking. | -| [`ScaleUpModes`]({{ site.dcv_parameters_reference }}image-parameter/scale-up-modes.html) | Defines the scale-up process when targets in the image are too small. | -| [`TextDetectionMode`]({{ site.dcv_parameters_reference }}image-parameter/text-detection-mode.html) | Defines how to detect the text area. | -| [`TextureDetectionModes`]({{ site.dcv_parameters_reference }}image-parameter/texture-detection-modes.html) | Defines how to detect texture on an image. | +| [`BaseImageParameterName`]({{ site.dcvb_parameters_reference }}image-parameter/base-image-parameter-name.html) | Represents the name of another `ImageParameter` object to inherit from. | +| [`BinarizationModes`]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html) | Defines the process of binarization | +| [`ColourConversionModes`]({{ site.dcvb_parameters_reference }}image-parameter/colour-conversion-modes.html) | Defines how to convert a colour image to a grayscale image. | +| [`GrayscaleEnhancementModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) | Defines the image processing methods to enhance the quality of the grayscale image. | +| [`GrayscaleTransformationModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-transformation-modes.html) | Defines whether or not to invert the color of the grayscale image. | +| [`IfEraseTextZone`]({{ site.dcvb_parameters_reference }}image-parameter/if-erase-text-zone.html) | Defines whether to erase the detected text zone. | +| [`Name`]({{ site.dcvb_parameters_reference }}image-parameter/name.html) | Defines the name of a `ImageParameter` object, which serves as its unique identifier. | +| [`RegionPredetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html) | Defines how to find a region of interest (ROI) within the image or frame. | +| [`ScaleDownThreshold`]({{ site.dcvb_parameters_reference }}image-parameter/scale-down-threshold.html) | Defines the threshold for image shrinking. | +| [`ScaleUpModes`]({{ site.dcvb_parameters_reference }}image-parameter/scale-up-modes.html) | Defines the scale-up process when targets in the image are too small. | +| [`TextDetectionMode`]({{ site.dcvb_parameters_reference }}image-parameter/text-detection-mode.html) | Defines how to detect the text area. | +| [`TextureDetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/texture-detection-modes.html) | Defines how to detect texture on an image. | ## Barcode Format Specification | Parameter Name | Description | | ---------------- | ----------- | -| [`AllModuleDeviation`]({{ site.dcv_parameters_reference }}barcode-format-specification/all-module-deviation.html) | Defines the width deviation value (in moduleSize) of a non-standard 1D barcode type relative to the standard barcode width. | -| [`AustralianPostEncodingTable`]({{ site.dcv_parameters_reference }}barcode-format-specification/australian-post-encoding-table.html) | Defines the encoding table used to code the Customer Information Field of Australian Post Customer Barcode. | -| [`BarcodeAngleRangeArray`]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-angle-range-array.html) | Defines the range of angles (in degrees) for barcodes searching and result filtering. | -| [`BarcodeBytesLengthRangeArray`]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-bytes-length-range-array.html) | Defines the range of barcode bytes length for barcodes searching and result filtering. | -| [`BarcodeHeightRangeArray`]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-height-range-array.html) | Defines the range of heights (in pixels) for barcodes searching and result filtering. | -| [`BarcodeTextLengthRangeArray`]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-text-length-range-array.html) | Defines the range of barcode text length for barcodes searching and result filtering. | -| [`BarcodeTextRegExPattern`]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-text-regex-pattern.html) | Defines the regular expression pattern of barcode text characters for barcodes searching and result filtering. | -| [`BarcodeWidthRangeArray`]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-width-range-array.html) | Defines the range of widths (in pixels) for barcodes searching and result filtering. | -| [`BarcodeZoneBarCountRangeArray`]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-zone-bar-count-range-array.html) | Defines the range of bar count of the barcode zone for barcodes searching. | -| [`BarcodeZoneMinDistanceToImageBorders`]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-zone-min-distance-to-image-borders.html) | Defines the minimum distance (in pixels) between the barcode zone and image borders. | -| [`Code128Subset`]({{ site.dcv_parameters_reference }}barcode-format-specification/code128-subset.html) | Defines the subset of Code 128. | -| [`EnableAddOnCode`]({{ site.dcv_parameters_reference }}barcode-format-specification/enable-addon-code.html) | Defines whether to identify addon code. | -| [`EnableDataMatrixECC000-140`]({{ site.dcv_parameters_reference }}barcode-format-specification/enable-data-matrix-ecc000-140.html) | Defines whether to read Data Matrix ECC000-140 barcode. | -| [`EnableQRCodeModel1`]({{ site.dcv_parameters_reference }}barcode-format-specification/enable-qr-code-model-1.html) | Defines whether to read QR code model 1. | -| [`FindUnevenModuleBarcode`]({{ site.dcv_parameters_reference }}barcode-format-specification/find-uneven-module-barcode.html) | Defines whether to find barcodes with uneven barcode modules. | -| [`HeadModuleRatio`]({{ site.dcv_parameters_reference }}barcode-format-specification/head-module-ratio.html) | Defines the module count and module size ratio of the barcode head section. | -| [`MinQuietZoneWidth`]({{ site.dcv_parameters_reference }}barcode-format-specification/min-quiet-zone-width.html) | Defines the minimum width (in moduleSize) of the barcode quiet zone. | -| [`MinRatioOfBarcodeZoneWidthToHeight`]({{ site.dcv_parameters_reference }}barcode-format-specification/min-ratio-of-barcode-zone-width-to-height.html) | Defines the minimum ratio (width/height as a percentage) of the barcode zone. | -| [`MinResultConfidence`]({{ site.dcv_parameters_reference }}barcode-format-specification/min-result-confidence.html) | Defines the minimum confidence of the result. | -| [`MirrorMode`]({{ site.dcv_parameters_reference }}barcode-format-specification/mirror-mode.html) | Defines whether to decode mirrored barcodes. | -| [`ModuleSizeRangeArray`]({{ site.dcv_parameters_reference }}barcode-format-specification/module-size-range-array.html) | Defines the range of module size (in pixels) while barcode searching and result filtering. | -| [`MSICodeCheckDigitCalculation`]({{ site.dcv_parameters_reference }}barcode-format-specification/msi-code-check-digit-calculation.html) | Defines the scheme used for calculating a check digit of an MSI barcode. | -| [`Name`]({{ site.dcv_parameters_reference }}barcode-format-specification/name.html) | Defines the name of a `BarcodeFormatSpecification` object, which serves as its unique identifier. | -| [`PartitionModes`]({{ site.dcv_parameters_reference }}barcode-format-specification/partition-modes.html) | Defines the mode to apply partition process when decoding QRCode and DataMatrix. | -| [`PatchCodeSearchingMargin`]({{ site.dcv_parameters_reference }}barcode-format-specification/patch-code-searching-margins.html) | Defines the patch code searching margins. | -| [`RequireStartStopChars`]({{ site.dcv_parameters_reference }}barcode-format-specification/require-start-stop-chars.html) | Defines whether the start and stop characters are required when searching for common 1D barcodes. | -| [`ReturnPartialBarcodeValue`]({{ site.dcv_parameters_reference }}barcode-format-specification/return-partial-barcode-value.html) | Defines whether to return partial barcode value(s). | -| [`StandardFormat`]({{ site.dcv_parameters_reference }}barcode-format-specification/standard-format.html) | Defines the standard barcode format. | -| [`TailModuleRatio`]({{ site.dcv_parameters_reference }}barcode-format-specification/tail-module-ratio.html) | Defines the module count and module size ratio of the barcode tail section. | -| [`VerifyCheckDigit`]({{ site.dcv_parameters_reference }}barcode-format-specification/verify-check-digit.html) | Defines whether to verify the check digit in barcodes where this check digit is optional. | +| [`AllModuleDeviation`]({{ site.dcvb_parameters_reference }}barcode-format-specification/all-module-deviation.html) | Defines the width deviation value (in moduleSize) of a non-standard 1D barcode type relative to the standard barcode width. | +| [`AustralianPostEncodingTable`]({{ site.dcvb_parameters_reference }}barcode-format-specification/australian-post-encoding-table.html) | Defines the encoding table used to code the Customer Information Field of Australian Post Customer Barcode. | +| [`BarcodeAngleRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-angle-range-array.html) | Defines the range of angles (in degrees) for barcodes searching and result filtering. | +| [`BarcodeBytesLengthRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-bytes-length-range-array.html) | Defines the range of barcode bytes length for barcodes searching and result filtering. | +| [`BarcodeHeightRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-height-range-array.html) | Defines the range of heights (in pixels) for barcodes searching and result filtering. | +| [`BarcodeTextLengthRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-text-length-range-array.html) | Defines the range of barcode text length for barcodes searching and result filtering. | +| [`BarcodeTextRegExPattern`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-text-regex-pattern.html) | Defines the regular expression pattern of barcode text characters for barcodes searching and result filtering. | +| [`BarcodeWidthRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-width-range-array.html) | Defines the range of widths (in pixels) for barcodes searching and result filtering. | +| [`BarcodeZoneBarCountRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-bar-count-range-array.html) | Defines the range of bar count of the barcode zone for barcodes searching. | +| [`BarcodeZoneMinDistanceToImageBorders`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-min-distance-to-image-borders.html) | Defines the minimum distance (in pixels) between the barcode zone and image borders. | +| [`Code128Subset`]({{ site.dcvb_parameters_reference }}barcode-format-specification/code128-subset.html) | Defines the subset of Code 128. | +| [`EnableAddOnCode`]({{ site.dcvb_parameters_reference }}barcode-format-specification/enable-addon-code.html) | Defines whether to identify addon code. | +| [`EnableDataMatrixECC000-140`]({{ site.dcvb_parameters_reference }}barcode-format-specification/enable-data-matrix-ecc000-140.html) | Defines whether to read Data Matrix ECC000-140 barcode. | +| [`EnableQRCodeModel1`]({{ site.dcvb_parameters_reference }}barcode-format-specification/enable-qr-code-model-1.html) | Defines whether to read QR code model 1. | +| [`FindUnevenModuleBarcode`]({{ site.dcvb_parameters_reference }}barcode-format-specification/find-uneven-module-barcode.html) | Defines whether to find barcodes with uneven barcode modules. | +| [`HeadModuleRatio`]({{ site.dcvb_parameters_reference }}barcode-format-specification/head-module-ratio.html) | Defines the module count and module size ratio of the barcode head section. | +| [`MinQuietZoneWidth`]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-quiet-zone-width.html) | Defines the minimum width (in moduleSize) of the barcode quiet zone. | +| [`MinRatioOfBarcodeZoneWidthToHeight`]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-ratio-of-barcode-zone-width-to-height.html) | Defines the minimum ratio (width/height as a percentage) of the barcode zone. | +| [`MinResultConfidence`]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-result-confidence.html) | Defines the minimum confidence of the result. | +| [`MirrorMode`]({{ site.dcvb_parameters_reference }}barcode-format-specification/mirror-mode.html) | Defines whether to decode mirrored barcodes. | +| [`ModuleSizeRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/module-size-range-array.html) | Defines the range of module size (in pixels) while barcode searching and result filtering. | +| [`MSICodeCheckDigitCalculation`]({{ site.dcvb_parameters_reference }}barcode-format-specification/msi-code-check-digit-calculation.html) | Defines the scheme used for calculating a check digit of an MSI barcode. | +| [`Name`]({{ site.dcvb_parameters_reference }}barcode-format-specification/name.html) | Defines the name of a `BarcodeFormatSpecification` object, which serves as its unique identifier. | +| [`PartitionModes`]({{ site.dcvb_parameters_reference }}barcode-format-specification/partition-modes.html) | Defines the mode to apply partition process when decoding QRCode and DataMatrix. | +| [`PatchCodeSearchingMargin`]({{ site.dcvb_parameters_reference }}barcode-format-specification/patch-code-searching-margins.html) | Defines the patch code searching margins. | +| [`RequireStartStopChars`]({{ site.dcvb_parameters_reference }}barcode-format-specification/require-start-stop-chars.html) | Defines whether the start and stop characters are required when searching for common 1D barcodes. | +| [`ReturnPartialBarcodeValue`]({{ site.dcvb_parameters_reference }}barcode-format-specification/return-partial-barcode-value.html) | Defines whether to return partial barcode value(s). | +| [`StandardFormat`]({{ site.dcvb_parameters_reference }}barcode-format-specification/standard-format.html) | Defines the standard barcode format. | +| [`TailModuleRatio`]({{ site.dcvb_parameters_reference }}barcode-format-specification/tail-module-ratio.html) | Defines the module count and module size ratio of the barcode tail section. | +| [`VerifyCheckDigit`]({{ site.dcvb_parameters_reference }}barcode-format-specification/verify-check-digit.html) | Defines whether to verify the check digit in barcodes where this check digit is optional. | ## Image Source Options | Parameter Name | Description | | -------------------- | ----------- | -| [`DirectoryPath`]({{ site.dcv_parameters_reference }}image-source-options/directory-path.html) | Defines a path when the library have to read files. | -| [`FileFilter`]({{ site.dcv_parameters_reference }}image-source-options/file-filter.html) | Defines a file name filter string, which determines which files are fetched. | -| [`Name`]({{ site.dcv_parameters_reference }}image-source-options/name.html) | Defines the name of a `ImageSource` object, which serves as its unique identifier. | -| [`Pages`]({{ site.dcv_parameters_reference }}image-source-options/pages.html) | Sets the 0-based page indexes of a file (.tiff or .pdf) for barcode searching. | -| [`PDFReadingMode`]({{ site.dcv_parameters_reference }}image-source-options/pdf-reading-mode.html) | Defines how to handle PDF files. | -| [`Recursive`]({{ site.dcv_parameters_reference }}image-source-options/recursive.html) | Defines whether to fetch files recursively. | -| [`Type`]({{ site.dcv_parameters_reference }}image-source-options/type.html) | Defines the type of the ImageSource object, which helps CVR create the correct type of image source. | +| [`DirectoryPath`]({{ site.dcvb_parameters_reference }}image-source-options/directory-path.html) | Defines a path when the library have to read files. | +| [`FileFilter`]({{ site.dcvb_parameters_reference }}image-source-options/file-filter.html) | Defines a file name filter string, which determines which files are fetched. | +| [`Name`]({{ site.dcvb_parameters_reference }}image-source-options/name.html) | Defines the name of a `ImageSource` object, which serves as its unique identifier. | +| [`Pages`]({{ site.dcvb_parameters_reference }}image-source-options/pages.html) | Sets the 0-based page indexes of a file (.tiff or .pdf) for barcode searching. | +| [`PDFReadingMode`]({{ site.dcvb_parameters_reference }}image-source-options/pdf-reading-mode.html) | Defines how to handle PDF files. | +| [`Recursive`]({{ site.dcvb_parameters_reference }}image-source-options/recursive.html) | Defines whether to fetch files recursively. | +| [`Type`]({{ site.dcvb_parameters_reference }}image-source-options/type.html) | Defines the type of the ImageSource object, which helps CVR create the correct type of image source. | ## Global Parameter | Parameter Name | Description | | ---------------------------- | ----------- | -| [`MaxTotalImageDimension`]({{ site.dcv_parameters_reference }}global-parameter/max-total-image-dimension.html) | Defines the maximum total dimension of the images that read in the memory. | +| [`MaxTotalImageDimension`]({{ site.dcvb_parameters_reference }}global-parameter/max-total-image-dimension.html) | Defines the maximum total dimension of the images that read in the memory. | diff --git a/parameters/structure-and-interfaces-of-parameters.md b/parameters/structure-and-interfaces-of-parameters.md index bf66caf3..0b85759a 100644 --- a/parameters/structure-and-interfaces-of-parameters.md +++ b/parameters/structure-and-interfaces-of-parameters.md @@ -94,7 +94,7 @@ The following table list the main objects type and description of a complete par | BarcodeReaderTaskSetting | It is used to configure settings for barcode reading tasks performed on images in DCV. | | ImageParameter | It provides various image-processing features to adjust and enhance the input image for better recognition results. | -For more details, please refer to [introduction of the capture vision template]({{ site.dcv_parameters }}file/capture-vision-template.html) +For more details, please refer to [introduction of the capture vision template]({{ site.dcvb_parameters }}file/capture-vision-template.html) ## How to Apply DCV Parameters diff --git a/performance/accuracy.md b/performance/accuracy.md index 186177c4..490af22d 100644 --- a/performance/accuracy.md +++ b/performance/accuracy.md @@ -49,7 +49,7 @@ The following settings can be applied to nearly all usage scenarios to improve t ### Filter the Result by Confidence -The confidence attribute of the barcode results is determined by the reliability of that result. Users can set the [`MinResultConfidence`]({{site.dcv_parameters_reference}}barcode-format-specification/min-result-confidence.html) to make a filter on the barcode results by the confidence value. For Dynamsoft Barcode Reader v8.8 or later, the default value of the confidence is optimized to 30, which can filter out the majority of misread barcode results. A higher `MinResultConfidence` setting will definitely improve the accuracy of the barcode results but reduce the read rate and speed at the same time. Therefore, please set the `MinResultConfidence` according to your actual usage scenario to balance the accuracy, speed read rate. +The confidence attribute of the barcode results is determined by the reliability of that result. Users can set the [`MinResultConfidence`]({{site.dcvb_parameters_reference}}barcode-format-specification/min-result-confidence.html) to make a filter on the barcode results by the confidence value. For Dynamsoft Barcode Reader v8.8 or later, the default value of the confidence is optimized to 30, which can filter out the majority of misread barcode results. A higher `MinResultConfidence` setting will definitely improve the accuracy of the barcode results but reduce the read rate and speed at the same time. Therefore, please set the `MinResultConfidence` according to your actual usage scenario to balance the accuracy, speed read rate. ### Enable Multi-frame Verification @@ -64,18 +64,18 @@ When configuring the specific settings, you have to know some basic information The barcode format specification is the most basic decode setting that affects all three metrics of the performance. Sometimes, misreading a 1D barcode is caused by misrecognizing the 1D barcode as another 1D barcode type. If the targeted 1D barcodes are scoped, you can specify the barcode format in your project to lower the probability of misread results. -The related parameters are [ `BarcodeFormatIds` ]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html). +The related parameters are [ `BarcodeFormatIds` ]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html). ### Enable Result Text Filter -When the target barcodes are confirmed, the barcode texts might have common features that help you implement a result filter on the result text. Using the [`BarcodeFormatSpecification`]({{site.dcv_parameters}}file/auxiliary/barcode-format-specification.html) parameters, you can add barcode result text restrictions like [`regular expression`]({{site.dcv_parameters_reference}}barcode-format-specification/barcode-text-regex-pattern.html) requirements and [`text length`]({{site.dcv_parameters_reference}}barcode-format-specification/barcode-text-length-range-array.html) range. +When the target barcodes are confirmed, the barcode texts might have common features that help you implement a result filter on the result text. Using the [`BarcodeFormatSpecification`]({{site.dcvb_parameters}}file/auxiliary/barcode-format-specification.html) parameters, you can add barcode result text restrictions like [`regular expression`]({{site.dcvb_parameters_reference}}barcode-format-specification/barcode-text-regex-pattern.html) requirements and [`text length`]({{site.dcvb_parameters_reference}}barcode-format-specification/barcode-text-length-range-array.html) range. ### Exclude Small-Module Barcodes -The module size of the barcode refers to the pixel size of the barcode modules (e.g. the pixel width of a 1D barcode line or the smallest cell size of a QR code). The smaller the module size of the barcodes, the higher risk of a misread. If it is not necessary to decode all the small-size barcodes in the scenario, you can skip the small-module barcodes by specifying the minimum acceptable module size of the barcodes via parameter [`ModuleSizeRangeArray`]({{site.dcv_parameters_reference}}barcode-format-specification/module-size-range-array.html). +The module size of the barcode refers to the pixel size of the barcode modules (e.g. the pixel width of a 1D barcode line or the smallest cell size of a QR code). The smaller the module size of the barcodes, the higher risk of a misread. If it is not necessary to decode all the small-size barcodes in the scenario, you can skip the small-module barcodes by specifying the minimum acceptable module size of the barcodes via parameter [`ModuleSizeRangeArray`]({{site.dcvb_parameters_reference}}barcode-format-specification/module-size-range-array.html). -When processing large-size images, DBR scales down the images based on the [`ScaleDownThreshold`]({{site.dcv_parameters_reference}}scale-down-threshold.html) before decoding. However, sometimes the barcode on the image might be shrunk too small. You can increase the [`scaleDownThreshold`]({{site.dcv_parameters_reference}}image-parameter/scale-down-threshold.html) value to ensure the module size of the barcodes is big enough to get the correct barcode results. +When processing large-size images, DBR scales down the images based on the [`ScaleDownThreshold`]({{site.dcvb_parameters_reference}}scale-down-threshold.html) before decoding. However, sometimes the barcode on the image might be shrunk too small. You can increase the [`scaleDownThreshold`]({{site.dcvb_parameters_reference}}image-parameter/scale-down-threshold.html) value to ensure the module size of the barcodes is big enough to get the correct barcode results. **Recommendation** @@ -83,7 +83,7 @@ By increasing the `MinValue` of the `ModuleSizeRangeArray`, the SDK can skip the ### Optimize DeblurModes Settings -[`DeblurModes`]({{site.dcv_parameters_reference}}barcode-reader-task-settings/deblur-modes.html) is the parameter that controls how much effort DBR will spend in processing the located barcodes. It is set to the highest level by default so that DBR will try its best to process every localized barcode even if they are highly blurred. However, the blurriness of the barcodes and the accuracy of the barcode results are inversely proportional. As a result, when the read rate is high enough with the current settings, you can try to simplify the `DeblurModes` array to reduce the possibility of any misreads. +[`DeblurModes`]({{site.dcvb_parameters_reference}}barcode-reader-task-settings/deblur-modes.html) is the parameter that controls how much effort DBR will spend in processing the located barcodes. It is set to the highest level by default so that DBR will try its best to process every localized barcode even if they are highly blurred. However, the blurriness of the barcodes and the accuracy of the barcode results are inversely proportional. As a result, when the read rate is high enough with the current settings, you can try to simplify the `DeblurModes` array to reduce the possibility of any misreads. Generally, the simpler the `DeblurModes` array is, the higher the accuracy. As a result, when accuracy is prioritized, the aim is to find the simplest `DeblurModes` configuration that covers the requirements. To find the simplest configuration, it is recommended to approach this from a trial and error standpoint and continuously test each configuration. For this approach, you can start with the full `DeblurModes` array and incrementally reduce the enabled `DeblurModes` till the read rate is no longer acceptable. diff --git a/performance/read-rate.md b/performance/read-rate.md index bed0b29c..194928bf 100644 --- a/performance/read-rate.md +++ b/performance/read-rate.md @@ -42,13 +42,13 @@ As the ultimate guide on how to configure DBR to realize its full potential on r Barcode zones are detectable by taking advantage of features of different barcode formats. A linear barcode, for example, consists of several parallel lines, so the first step of locating the barcode is to find a group of parallel lines, at which a linear barcode zone (defining feature) is detected. But in some cases, these defining features may not be obvious or of good enough quality to be detectable, so DBR will go through the following processes to enhance barcode zone features before localization. ### Optimize the Conversion from Colour Image to Grayscale -If the original image is a colour image, DBR will convert it to grayscale. During that process, the colour space and weights of each colour channel used directly affects the quality of the grayscale image. By default, DBR uses RGB space and automatically calculates the weights of the three channels (red, green, blue). To get a high quality grayscale image, you can also adjust the colour space and weight of the channels using the [ColourConversionModes]({{ site.dcv_parameters_reference }}image-parameter/colour-conversion-modes.html) setting. For example, if your image has a barcode with a red background, setting `BlueChannelWeight, GreenChannelWeight`, and `RedChannelWeight` to `0`, `0`, and `1000` respectively will return a better grayscale image than the values `300`, `300`, and `400` respectively. +If the original image is a colour image, DBR will convert it to grayscale. During that process, the colour space and weights of each colour channel used directly affects the quality of the grayscale image. By default, DBR uses RGB space and automatically calculates the weights of the three channels (red, green, blue). To get a high quality grayscale image, you can also adjust the colour space and weight of the channels using the [ColourConversionModes]({{ site.dcvb_parameters_reference }}image-parameter/colour-conversion-modes.html) setting. For example, if your image has a barcode with a red background, setting `BlueChannelWeight, GreenChannelWeight`, and `RedChannelWeight` to `0`, `0`, and `1000` respectively will return a better grayscale image than the values `300`, `300`, and `400` respectively. -After the conversion, the barcode on the grayscale image is either darker or lighter than the background. If it is the latter, the barcode image is then considered to be inverted and so DBR needs to set the `GTM_INVERTED` mode in [GrayscaleTransformationModes]({{ site.dcv_parameters_reference }}image-parameter/grayscale-transformation-modes.html) to invert the image in advance. Therefore, to ensure a good read rate, it is recommended to set both `GTM_ORIGINAL` and `GTM_INVERTED` in the `GrayscaleTransformationModes` to cover both the darker and lighter backgrounds, respectively. +After the conversion, the barcode on the grayscale image is either darker or lighter than the background. If it is the latter, the barcode image is then considered to be inverted and so DBR needs to set the `GTM_INVERTED` mode in [GrayscaleTransformationModes]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-transformation-modes.html) to invert the image in advance. Therefore, to ensure a good read rate, it is recommended to set both `GTM_ORIGINAL` and `GTM_INVERTED` in the `GrayscaleTransformationModes` to cover both the darker and lighter backgrounds, respectively. ### Enhance the Grayscale Image Quality -[GrayscaleEnhancementModes]({{ site.dcv_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) provides some image processing methods to enhance the quality of the grayscale image by removing the noise, improving the contrast, and more. To get the best read rate, you can set all of the supported grayscale enhancement modes. But to balance the time cost, please refer to the following table to identify the circumstance of your barcode image and set one or a few modes. +[GrayscaleEnhancementModes]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) provides some image processing methods to enhance the quality of the grayscale image by removing the noise, improving the contrast, and more. To get the best read rate, you can set all of the supported grayscale enhancement modes. But to balance the time cost, please refer to the following table to identify the circumstance of your barcode image and set one or a few modes. | Image Circumstance | Recommended Setting | | --- | --- | @@ -57,12 +57,12 @@ After the conversion, the barcode on the grayscale image is either darker or lig | With blurred boundaries around the barcode module | GEM_SHARPEN_SMOOTH | ### Generate a High Quality Binary Image -[BinarizationModes]({{ site.dcv_parameters_reference }}image-parameter/binarization-modes.html) provides some binarization methods to generate a high quality binary image. Setting the priority to `BM_LOCAL_BLOCK` will binarize each pixel of the image based on a threshold which is calculated based on a small region around said pixel. It works well on images with varying illumination. When using this mode, there are arguments that can be used to further improve the read rate. Setting `BlockSizeX` and `BlockSizeY` to 5 - 8 times the module size (should it be known) and setting `EnableFillBinaryVacancy` to 1 if you are reading barcodes with a large module size. +[BinarizationModes]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html) provides some binarization methods to generate a high quality binary image. Setting the priority to `BM_LOCAL_BLOCK` will binarize each pixel of the image based on a threshold which is calculated based on a small region around said pixel. It works well on images with varying illumination. When using this mode, there are arguments that can be used to further improve the read rate. Setting `BlockSizeX` and `BlockSizeY` to 5 - 8 times the module size (should it be known) and setting `EnableFillBinaryVacancy` to 1 if you are reading barcodes with a large module size. The second binarization mode, `BM_THRESHOLD`, binarizes the image for each pixel based on a global unified threshold. It works well when the image has obvious contrast between the barcode and the background. You can adjust the threshold by setting argument `BinarizationThreshold` to find a best value for your image. ## Improve Barcode Localization with Multiple Modes -After the above process, we have a high quality binarized image ready for barcode zone localization. DBR provides several methods to localize a barcode zone, which can be customized by the parameter [LocalizationModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/localization-modes.html). Each single method can be used for certain barcode type(s) or usage scenarios, but considering the read rate as the first priority, it is recommended to combine multiple modes following the instructions below. +After the above process, we have a high quality binarized image ready for barcode zone localization. DBR provides several methods to localize a barcode zone, which can be customized by the parameter [LocalizationModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html). Each single method can be used for certain barcode type(s) or usage scenarios, but considering the read rate as the first priority, it is recommended to combine multiple modes following the instructions below. ### Common Usage To localize most barcodes, it is recommended to use DBR's default localization modes, which includes `LM_SCAN_DIRECTLY`, `LM_CONNECTED_BLOCKS`, `LM_LINES`, `LM_STATISTICS` in that priority order. Firstly, DBR uses `LM_SCAN_DIRECTLY` mode to run a fast scan through the whole image. That usually gives a great localization result with vertical and horizontal OneD barcodes. If not enough barcodes have been found, DBR then uses `LM_CONNECTED_BLOCKS` which covers most of the barcode types and gives the best result most of the time. `LM_LINES` is a supplementary mode to `LM_CONNECTED_BLOCKS` which may help localizing OneD and PDF417 codes. DBR then tries `LM_STATISTICS` mode as the last resort to cover barcode types that may be missed by the above modes. @@ -80,7 +80,7 @@ To localize most barcodes, it is recommended to use DBR's default localization m ## Refine the Decoding Process -Next in the algorithm, DBR performs a round of image processing on the precisely partitioned barcode area to get final barcode result. The parameter [DeblurModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) comes with 9 modes in total which can be used individually or together to configure how DBR runs this part of the algorithm. Of the 9 modes, 2 of them are designed for relatively simple situations: +Next in the algorithm, DBR performs a round of image processing on the precisely partitioned barcode area to get final barcode result. The parameter [DeblurModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) comes with 9 modes in total which can be used individually or together to configure how DBR runs this part of the algorithm. Of the 9 modes, 2 of them are designed for relatively simple situations: - `DM_BASED_ON_LOC_BIN` is the most efficient mode when the barcode area is clear and clean. It reuses the binary image generated during the localization process. - `DM_THRESHOLD_BINARIZATION` is preferred when the barcode content modules have distinct colour contrast with the background. @@ -105,37 +105,37 @@ Last but not least, `DM_DEEP_ANALYSIS` is the most powerful way to deal with des ### Enlarge Barcodes with Small Module Sizes -Barcodes with a small module size may be distorted by some processing methods like rotation, binarization with inappropriate block size, etc. Enlarging the barcode area to a larger size can enhance the ability to prevent distortion, thereby improving the likelihood of decoding results. The parameter [ScaleUpModes]({{ site.dcv_parameters_reference }}image-parameter/scale-up-modes.html) can be used to determine how the enlarging should be done, if at all. For example, using `SUM_LINEAR_INTERPOLATION` with argument `ModuleSizeThreshold` set to 2 will activate the enlaring process using the linear interpolation method when the barcode module size is smaller than 2px. +Barcodes with a small module size may be distorted by some processing methods like rotation, binarization with inappropriate block size, etc. Enlarging the barcode area to a larger size can enhance the ability to prevent distortion, thereby improving the likelihood of decoding results. The parameter [ScaleUpModes]({{ site.dcvb_parameters_reference }}image-parameter/scale-up-modes.html) can be used to determine how the enlarging should be done, if at all. For example, using `SUM_LINEAR_INTERPOLATION` with argument `ModuleSizeThreshold` set to 2 will activate the enlaring process using the linear interpolation method when the barcode module size is smaller than 2px. ### Enable All Wanted Barcode Types -Barcode types are defined with the parameters [BarcodeFormatIds]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html). A barcode can be detected only when its type is enabled. When the barcode type is uncertain, you should enable all barcode types to ensure the read rate. +Barcode types are defined with the parameters [BarcodeFormatIds]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html). A barcode can be detected only when its type is enabled. When the barcode type is uncertain, you should enable all barcode types to ensure the read rate. ### Restore Incomplete Modules -In some cases, due to misprinting, the barcodes may miss some modules, like the patterns of a QR code or the border of a Datamatrix. DBR is able to restore the missing modules for these barcodes by setting `BCM_GENERAL` mode in the parameter [BarcodeComplementModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html). +In some cases, due to misprinting, the barcodes may miss some modules, like the patterns of a QR code or the border of a Datamatrix. DBR is able to restore the missing modules for these barcodes by setting `BCM_GENERAL` mode in the parameter [BarcodeComplementModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html). ### Correct Deformed Barcodes -The barcodes on the surface of some flexible packaging or cylindrical objects tend to be distorted or deformed. DBR is able to correct these deformed barcodes to a standard shape by setting `DRM_GENERAL` mode in parameter [DeformationResistingModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html). +The barcodes on the surface of some flexible packaging or cylindrical objects tend to be distorted or deformed. DBR is able to correct these deformed barcodes to a standard shape by setting `DRM_GENERAL` mode in parameter [DeformationResistingModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html). ### Support Direct Part Marking Codes -DPM (Direct Part Marking) Codes, DataMatrix typically, are widely used in industrial part tracking, from electronics manufacturing to automotive assembly. They always come with light reflection, low contrast, complex background texture, and other distorted features. DBR is able to decode such DPM codes by setting `DPMCRM_GENERAL` mode in parameter [DPMCodeReadingModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html). +DPM (Direct Part Marking) Codes, DataMatrix typically, are widely used in industrial part tracking, from electronics manufacturing to automotive assembly. They always come with light reflection, low contrast, complex background texture, and other distorted features. DBR is able to decode such DPM codes by setting `DPMCRM_GENERAL` mode in parameter [DPMCodeReadingModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html). ### Cover Both Normal and Mirrored States -Sometimes, barcodes can come out in a mirrored orientation compared to the normal orientation (left to right). DBR is able to cover both normal and mirrored barcodes by setting `MM_BOTH` mode in parameter [MirrorMode]({{ site.dcv_parameters_reference }}barcode-format-specification/mirror-mode.html). If the barcodes you are decoding are of the same state, setting it to only `MM_NORMAL` or `MM_MIRROR` can improve the speed without affecting the read rate. +Sometimes, barcodes can come out in a mirrored orientation compared to the normal orientation (left to right). DBR is able to cover both normal and mirrored barcodes by setting `MM_BOTH` mode in parameter [MirrorMode]({{ site.dcvb_parameters_reference }}barcode-format-specification/mirror-mode.html). If the barcodes you are decoding are of the same state, setting it to only `MM_NORMAL` or `MM_MIRROR` can improve the speed without affecting the read rate. ### Comply with Non-standard Barcodes In some cases, the barcode may not be generated or printed following the standard. DBR is able to decode such non-standard barcodes by setting the following parameters to provide information about the non-standard part. -- [StandardFormat]({{ site.dcv_parameters_reference }}barcode-format-specification/standard-format.html) to specify the standard barcode format. -- [AllModuleDeviation]({{ site.dcv_parameters_reference }}barcode-format-specification/all-module-deviation.html) to specify the barcode module size deviation value. -- [HeadModuleRatio]({{ site.dcv_parameters_reference }}barcode-format-specification/head-module-ratio.html) to specify the module count and module size ratio of the barcode head part. -- [TailModuleRatio]({{ site.dcv_parameters_reference }}barcode-format-specification/tail-module-ratio.html) to specify the module count and module size ratio of the barcode tail part. -- [FindUnevenModuleBarcode]({{ site.dcv_parameters_reference }}barcode-format-specification/find-uneven-module-barcode.html) to specify whether to find barcodes with uneven barcode modules. +- [StandardFormat]({{ site.dcvb_parameters_reference }}barcode-format-specification/standard-format.html) to specify the standard barcode format. +- [AllModuleDeviation]({{ site.dcvb_parameters_reference }}barcode-format-specification/all-module-deviation.html) to specify the barcode module size deviation value. +- [HeadModuleRatio]({{ site.dcvb_parameters_reference }}barcode-format-specification/head-module-ratio.html) to specify the module count and module size ratio of the barcode head part. +- [TailModuleRatio]({{ site.dcvb_parameters_reference }}barcode-format-specification/tail-module-ratio.html) to specify the module count and module size ratio of the barcode tail part. +- [FindUnevenModuleBarcode]({{ site.dcvb_parameters_reference }}barcode-format-specification/find-uneven-module-barcode.html) to specify whether to find barcodes with uneven barcode modules. ## Summary diff --git a/performance/speed.md b/performance/speed.md index 8e1d5250..6a3db6c8 100644 --- a/performance/speed.md +++ b/performance/speed.md @@ -44,7 +44,7 @@ This guide explores how DBR can be used to its full-speed potential, and it will This is probably the most natural setting to start with. By clearly telling DBR what it is looking for, it can quickly skip other types of barcodes that can potentially be on the same image or frame. -The related parameters are [ `BarcodeFormatIds` ]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html). +The related parameters are [ `BarcodeFormatIds` ]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html). **Recommendation** @@ -54,9 +54,9 @@ The related parameters are [ `BarcodeFormatIds` ]({{ site.dcv_parameters_referen By default, DBR tries to find as many barcodes as possible from a given image. Assume the image is very big but has only one barcode at the top, DBR finds the barcode instantly but will spend more time scanning the rest of the image or even try more steps to find more barcodes. By telling DBR that we are only expecting one barcode, it will stop reading the image as soon as that barcode is found. -The related parameter is [`ExpectedBarcodesCount`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/expected-barcodes-count.html). Note that it can be set to 0 or any natural number. DBR's behaviour is as follows: +The related parameter is [`ExpectedBarcodesCount`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/expected-barcodes-count.html). Note that it can be set to 0 or any natural number. DBR's behaviour is as follows: -* `ExpectedBarcodesCount` is 0: DBR tries to localize barcodes with the first mode set in [LocalizationModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/localization-modes.html). If barcodes are found, the rest of the modes are skipped and the recognition starts right away. +* `ExpectedBarcodesCount` is 0: DBR tries to localize barcodes with the first mode set in [LocalizationModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html). If barcodes are found, the rest of the modes are skipped and the recognition starts right away. * `ExpectedBarcodesCount` is > 0: DBR tries to find as many barcodes as defined by this number. If enough barcodes have been found, the rest of the pending operations will be skipped. On the other hand, if the number of found barcodes is less than expected, DBR will exhaust all defined operations to find more until it times out. **Recommendation** @@ -67,7 +67,7 @@ The related parameter is [`ExpectedBarcodesCount`]({{ site.dcv_parameters_refere ### Determine the appropriate binarization mode -The binarization of the image is the basis for the localization of barcodes. Depending on the lighting conditions, we can choose either the mode [BM_THRESHOLD]({{ site.dcv_parameters_reference }}image-parameter/binarization-modes.html#bm_threshold) or [BM_LOCAL_BLOCK]({{ site.dcv_parameters_reference }}image-parameter/binarization-modes.html#bm_local_block) for the parameter [BinarizationModes]({{ site.dcv_parameters_reference }}image-parameter/binarization-modes.html). +The binarization of the image is the basis for the localization of barcodes. Depending on the lighting conditions, we can choose either the mode [BM_THRESHOLD]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html#bm_threshold) or [BM_LOCAL_BLOCK]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html#bm_local_block) for the parameter [BinarizationModes]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html). **Recommendation** @@ -76,7 +76,7 @@ The binarization of the image is the basis for the localization of barcodes. Dep ### Adjust the localization modes -A barcode is localized before it gets decoded. The localization process takes up a large portion of the overall time spent. We can adjust the localization modes to speed things up with its corresponding parameter [LocalizationModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/localization-modes.html). +A barcode is localized before it gets decoded. The localization process takes up a large portion of the overall time spent. We can adjust the localization modes to speed things up with its corresponding parameter [LocalizationModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html). **Recommendation** @@ -85,7 +85,7 @@ A barcode is localized before it gets decoded. The localization process takes up ### Configure the final decoding process with DeblurModes -The parameter [DeblurModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) is used to configure how DBR processes already-localized barcode zones (images cut around the barcode boundaries from the original image) to get the final results. +The parameter [DeblurModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) is used to configure how DBR processes already-localized barcode zones (images cut around the barcode boundaries from the original image) to get the final results. Deblurring is the last configurable step before a barcode is decoded. DBR by default has all deblurring algorithms enabled so that it tries its best to decode each localized barcode zone. When speed is the priority over the other metrics, we can ask DBR to try just one or two of these modes by setting `DeblurModes`. @@ -133,7 +133,7 @@ When locating barcodes, DBR scans the whole image, so the larger the size of the #### Scale down a large image -A barcode normally keeps its shape and can be read correctly even when the image gets scaled down. Therefore, DBR shrinks very large images before reading them. The parameter [ScaleDownThreshold]({{ site.dcv_parameters_reference }}image-parameter/scale-down-threshold.html) can be used to determine the threshold beyond which the scale down happens. +A barcode normally keeps its shape and can be read correctly even when the image gets scaled down. Therefore, DBR shrinks very large images before reading them. The parameter [ScaleDownThreshold]({{ site.dcvb_parameters_reference }}image-parameter/scale-down-threshold.html) can be used to determine the threshold beyond which the scale down happens. **Recommendation** @@ -145,9 +145,9 @@ When reading barcodes from a certain type of documents or from a video input, th There are two ways to specify the region: -* manually define a region by providing the coordinates of its contours. Each region is defined by a [TargetROIDef]({{ site.dcv_parameters }}file/target-roi-definition/index.html) and then specified by [Location]({{ site.dcv_parameters_reference }}target-roi-def/location.html); +* manually define a region by providing the coordinates of its contours. Each region is defined by a [TargetROIDef]({{ site.dcvb_parameters }}file/target-roi-definition/index.html) and then specified by [Location]({{ site.dcvb_parameters_reference }}target-roi-def/location.html); -* let DBR find the region based on the colour/grayscale distribution of different parts of the image, this is controlled by the parameter [RegionPredetectionModes]({{ site.dcv_parameters_reference }}image-parameter/region-predetection-modes.html). +* let DBR find the region based on the colour/grayscale distribution of different parts of the image, this is controlled by the parameter [RegionPredetectionModes]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html). **Recommendation** @@ -180,7 +180,7 @@ DBR provides multiple options for each preprocessing operation and will go throu *Convert the image to grayscale* -If the original image is not a grayscale image, DBR will convert it to a grayscale image. After that, the barcode symbol is either lighter or darker than the background. We call a darker barcode a normal barcode and a lighter barcode an inverted barcode. When locating barcodes, DBR expects the barcodes to be normal. Therefore, if an image in fact has inverted barcodes, DBR needs to invert the color of the image in advance. This is controlled by the parameter [GrayscaleTransformationModes]({{ site.dcv_parameters_reference }}image-parameter/grayscale-transformation-modes.html). +If the original image is not a grayscale image, DBR will convert it to a grayscale image. After that, the barcode symbol is either lighter or darker than the background. We call a darker barcode a normal barcode and a lighter barcode an inverted barcode. When locating barcodes, DBR expects the barcodes to be normal. Therefore, if an image in fact has inverted barcodes, DBR needs to invert the color of the image in advance. This is controlled by the parameter [GrayscaleTransformationModes]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-transformation-modes.html). **Recommendation** @@ -188,7 +188,7 @@ Depending on the images to read, specify either `GTM_ORIGINAL` or `GTM_INVERTED` *Enhance the grayscale image quality* -The grayscale image converted from the original image can usually be used directly. But suppose your image has some distortion that can be solved by common image processing methods, the parameter [GrayscaleEnhancementModes]({{ site.dcv_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) can be set to allow extra operations for getting a higher-quality grayscale image. +The grayscale image converted from the original image can usually be used directly. But suppose your image has some distortion that can be solved by common image processing methods, the parameter [GrayscaleEnhancementModes]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) can be set to allow extra operations for getting a higher-quality grayscale image. **Recommendation** @@ -196,7 +196,7 @@ In most cases, just use the default `GEM_GENERAL` mode. If necessary, specify on #### Remove texture and filter text -The less the noise, the faster the localization. Use the parameters [TextureDetectionModes]({{ site.dcv_parameters_reference }}image-parameter/texture-detection-modes.html) and [TextDetectionMode]({{ site.dcv_parameters_reference }}image-parameter/text-detection-mode.html) to remove texture and filter text in the binarized image. +The less the noise, the faster the localization. Use the parameters [TextureDetectionModes]({{ site.dcvb_parameters_reference }}image-parameter/texture-detection-modes.html) and [TextDetectionMode]({{ site.dcvb_parameters_reference }}image-parameter/text-detection-mode.html) to remove texture and filter text in the binarized image. **Recommendation** @@ -205,7 +205,7 @@ The less the noise, the faster the localization. Use the parameters [TextureDete #### Adapt image binarization for speed -The image binarization is controlled by the parameter [BinarizationModes]({{ site.dcv_parameters_reference }}image-parameter/binarization-modes.html). This has been discussed briefly above in [Determine the appropriate binarization mode](#determine-the-appropriate-binarization-mode) where the recommendation is to use either `BM_THRESHOLD` or `BM_LOCAL_BLOCK` . Here, we will examine some mode arguments that allow the modes to adapt to a speed-first application. Please refer to [Mode Arguments]({{ site.dcv_parameters_reference }}image-parameter/binarization-modes.html#mode-arguments) for a quick look on the relationship between modes and mode arguments. +The image binarization is controlled by the parameter [BinarizationModes]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html). This has been discussed briefly above in [Determine the appropriate binarization mode](#determine-the-appropriate-binarization-mode) where the recommendation is to use either `BM_THRESHOLD` or `BM_LOCAL_BLOCK` . Here, we will examine some mode arguments that allow the modes to adapt to a speed-first application. Please refer to [Mode Arguments]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html#mode-arguments) for a quick look on the relationship between modes and mode arguments. * For `BM_THRESHOLD`, we can explicitly set a value to the argument `BinarizationThreshold` which dictates at which point a pixel is regarded as black/white. Generally we can just use the default value `-1` which allows DBR to calculate a proper threshold itself. @@ -216,7 +216,7 @@ The image binarization is controlled by the parameter [BinarizationModes]({{ sit ### Choose the optimum localization modes -Now that we have a binarized image processed from the original image, we can start localizing the barcode zones. DBR comes with 8 options for the parameter [LocalizationModes]({{ site.dcv_parameters_reference }}image-parameter/localization-modes.html#localizationmodes) which determines how the localization is done. Of the 8 modes, 3 of them are designed for one or a few types of barcodes: +Now that we have a binarized image processed from the original image, we can start localizing the barcode zones. DBR comes with 8 options for the parameter [LocalizationModes]({{ site.dcvb_parameters_reference }}image-parameter/localization-modes.html#localizationmodes) which determines how the localization is done. Of the 8 modes, 3 of them are designed for one or a few types of barcodes: * `LM_ONED_FAST_SCAN` works best for linear or 1D barcodes that are of relatively high quality; * `LM_STATISTICS_MARKS` is meant for QR or DataMatrix barcodes generated by direct part marking (DPM); @@ -246,8 +246,8 @@ After the localization, we have barcode zones located on an image. In this stage The preprocessing consists of two operations -* Detect the color of the zones and adjust it based on [BarcodeColourModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-colour-modes.html); -* Detect the size of the zones and change it based on [ScaleUpModes]({{ site.dcv_parameters_reference }}image-parameter/scale-up-modes.html). +* Detect the color of the zones and adjust it based on [BarcodeColourModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-colour-modes.html); +* Detect the size of the zones and change it based on [ScaleUpModes]({{ site.dcvb_parameters_reference }}image-parameter/scale-up-modes.html). **Recommendation** @@ -255,7 +255,7 @@ Both adjusting the color and the size of the barcode zone(s) can take some time. ### Expedite the actual barcode decoding -After barcode zones have been preprocessed, we have well-partitioned images awaiting decoding. We know the type of the barcode on each partitioned image but the image itself could still be blurry, incomplete, or deformed. DBR has algorithms to handle all these situations with the parameters [DeblurModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/deblur-modes.html), [BarcodeComplementModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html), and [DeformationResistingModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html). +After barcode zones have been preprocessed, we have well-partitioned images awaiting decoding. We know the type of the barcode on each partitioned image but the image itself could still be blurry, incomplete, or deformed. DBR has algorithms to handle all these situations with the parameters [DeblurModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html), [BarcodeComplementModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html), and [DeformationResistingModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html). **Recommendation** @@ -267,9 +267,9 @@ After barcode zones have been preprocessed, we have well-partitioned images awai ### Unleash the power of the CPU -The algorithm to process an image has quite a few steps and for each step, there could be multiple options to try. For processes that don't necessary need to wait for each other, we can tell DBR to open multiple threads/workers to work on different tasks at the same time. The related parameter is [`MaxThreadsInOneTask`]({{ site.dcv_parameters_reference }}shared-parameter/max-threads-in-one-task.html). However, note that this is only meaningful on devices with a good CPU. On low-end desktops or mobile devices, it's better to limit the threads to 2 or even 1. +The algorithm to process an image has quite a few steps and for each step, there could be multiple options to try. For processes that don't necessary need to wait for each other, we can tell DBR to open multiple threads/workers to work on different tasks at the same time. The related parameter is [`MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}shared-parameter/max-threads-in-one-task.html). However, note that this is only meaningful on devices with a good CPU. On low-end desktops or mobile devices, it's better to limit the threads to 2 or even 1. -Other than the built-in multi-threading, another way to speed things up is to create multiple DBR instances and have them decoding different images at the same time. The related parameter is [`MaxParallelTasks`]({{ site.dcv_parameters_reference }}capture-vision-template/max-parallel-tasks.html) +Other than the built-in multi-threading, another way to speed things up is to create multiple DBR instances and have them decoding different images at the same time. The related parameter is [`MaxParallelTasks`]({{ site.dcvb_parameters_reference }}capture-vision-template/max-parallel-tasks.html) ### Bypass time-consuming exceptions @@ -277,7 +277,7 @@ Sometimes, DBR may encoutner an image that is very challenging. The nature of DB This is especially useful when it comes to continuous scanning of video frames as it makes no sense to spend too much time on one difficult frame when the next frame probably contains the same barcode(s). -The parameter that controls that is [`Timeout`]({{ site.dcv_parameters_reference }}capture-vision-template/timeout.html). +The parameter that controls that is [`Timeout`]({{ site.dcvb_parameters_reference }}capture-vision-template/timeout.html). **Recommendation** @@ -289,7 +289,7 @@ Barcode reading usually ends with the output of the content of the barcode. Howe **Recommendation** -[`TerminateSetting`]({{ site.dcv_parameters_reference }}shared-parameter/terminate-setting.html) controls when the algorithm should stop. If, for instance, the purpose is to only locate the barcode, but not decode it, then you can set the `Section` parameter to `ST_BARCODE_LOCALIZATION`. This would skip the steps needed to determine the barcode type and decode it, thus saving you time in the long run. +[`TerminateSetting`]({{ site.dcvb_parameters_reference }}shared-parameter/terminate-setting.html) controls when the algorithm should stop. If, for instance, the purpose is to only locate the barcode, but not decode it, then you can set the `Section` parameter to `ST_BARCODE_LOCALIZATION`. This would skip the steps needed to determine the barcode type and decode it, thus saving you time in the long run. ### Avoid disk writing operations @@ -297,7 +297,7 @@ Writing to the disk can be a time-consuming process. With DBR, disk writing happ ### Fine-tune the performance further with FormatSpecification -If even better speed is desired, we can set limitations on barcode searching for each type of barcodes so that DBR can quickly skip uninterested zones. The related parameters include [BarcodeAngleRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-angle-range-array.html), [BarcodeHeightRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-height-range-array.html), [BarcodeWidthRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-width-range-array.html), [BarcodeZoneBarCountRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-zone-bar-count-range-array.html) and [ModuleSizeRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/module-size-range-array.html), etc. Click each parameter to learn more about them and when to use them. +If even better speed is desired, we can set limitations on barcode searching for each type of barcodes so that DBR can quickly skip uninterested zones. The related parameters include [BarcodeAngleRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-angle-range-array.html), [BarcodeHeightRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-height-range-array.html), [BarcodeWidthRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-width-range-array.html), [BarcodeZoneBarCountRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-bar-count-range-array.html) and [ModuleSizeRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/module-size-range-array.html), etc. Click each parameter to learn more about them and when to use them. ## Summary diff --git a/programming/features/barcode-scan-region.md b/programming/features/barcode-scan-region.md index 21e1f790..556ef1a7 100644 --- a/programming/features/barcode-scan-region.md +++ b/programming/features/barcode-scan-region.md @@ -10,7 +10,7 @@ noTitleIndex: true # Read a Specific Area/Region -Dynamsoft Barcode Reader (DBR) will locate the code region and decode the entire image by default. However, if only a specific region of the image or video is required to locate the barcode, you can define a Region Of Interest (ROI) via the parameter `TargetROIDef`. After defining a specific region, DBR will only decode barcodes within that region. Of course, this is very conducive to increasing the speed. Please refer to [`Design of the TargetROIDef Object`]({{ site.dcv_parameters }}file/target-roi-definition/index.html) to learn more about `TargetROIDef` and how it works,. +Dynamsoft Barcode Reader (DBR) will locate the code region and decode the entire image by default. However, if only a specific region of the image or video is required to locate the barcode, you can define a Region Of Interest (ROI) via the parameter `TargetROIDef`. After defining a specific region, DBR will only decode barcodes within that region. Of course, this is very conducive to increasing the speed. Please refer to [`Design of the TargetROIDef Object`]({{ site.dcvb_parameters }}file/target-roi-definition/index.html) to learn more about `TargetROIDef` and how it works,. ## Single Region Specification diff --git a/programming/features/control-terminate-phase.md b/programming/features/control-terminate-phase.md index 79fb7df0..a9e1782d 100644 --- a/programming/features/control-terminate-phase.md +++ b/programming/features/control-terminate-phase.md @@ -9,7 +9,7 @@ breadcrumbText: Termination Control # Control when to terminate a decoding process -Typically, Dynamsoft Barcode Reader (DBR) will terminate a decoding process after the barcode is decoded or the process has failed. In some cases we may want the process to terminate earlier than that. To do this, we use either the parameter [ `TerminateSetting` ]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/terminate-setting.html) or the parameter [ `Timeout` ]({{ site.dcv_parameters_reference }}capture-vision-template/timeout.html). The former specifies the stage to terminate the process while the latter specifies the maximum time allowed for the process. +Typically, Dynamsoft Barcode Reader (DBR) will terminate a decoding process after the barcode is decoded or the process has failed. In some cases we may want the process to terminate earlier than that. To do this, we use either the parameter [ `TerminateSetting` ]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/terminate-setting.html) or the parameter [ `Timeout` ]({{ site.dcvb_parameters_reference }}capture-vision-template/timeout.html). The former specifies the stage to terminate the process while the latter specifies the maximum time allowed for the process. ## TerminateSetting diff --git a/programming/features/filter-and-sort.md b/programming/features/filter-and-sort.md index 462a8f5f..3babb779 100644 --- a/programming/features/filter-and-sort.md +++ b/programming/features/filter-and-sort.md @@ -11,16 +11,16 @@ needAutoGenerateSidebar: false Dynamsoft Barcode Reader SDK is able to read multiple barcodes at once and return results of all the decoded barcodes. However, you may not want all the results. For example, you may need only the results of a specific barcode format, or you may need only the barcodes with a certain text string. The SDK provides the following parameters to help you filter the barcode results by barcode format, confidence, etc and order the results by confidence, position or format. These parameters can work both individually and in combination. -* [BarcodeFormatIds]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) -* [BarcodeAngleRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-angle-range-array.html) -* [BarcodeWidthRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-width-range-array.html) -* [BarcodeHeightRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-height-range-array.html) -* [MinRatioOfBarcodeZoneWidthToHeight]({{ site.dcv_parameters_reference }}barcode-format-specification/min-ratio-of-barcode-zone-width-to-height.html) -* [BarcodeTextLengthRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-text-length-range-array.html) -* [BarcodeTextRegExPattern]({{ site.dcv_parameters_reference }}barcode-format-specification/barcode-text-regex-pattern.html) -* [MinResultConfidence]({{ site.dcv_parameters_reference }}barcode-format-specification/min-result-confidence.html) -* [ModuleSizeRangeArray]({{ site.dcv_parameters_reference }}barcode-format-specification/module-size-range-array.html) -* [TextResultOrderModes]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/text-result-order-modes.html) +* [BarcodeFormatIds]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) +* [BarcodeAngleRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-angle-range-array.html) +* [BarcodeWidthRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-width-range-array.html) +* [BarcodeHeightRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-height-range-array.html) +* [MinRatioOfBarcodeZoneWidthToHeight]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-ratio-of-barcode-zone-width-to-height.html) +* [BarcodeTextLengthRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-text-length-range-array.html) +* [BarcodeTextRegExPattern]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-text-regex-pattern.html) +* [MinResultConfidence]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-result-confidence.html) +* [ModuleSizeRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/module-size-range-array.html) +* [TextResultOrderModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/text-result-order-modes.html) ## Sample Code diff --git a/programming/features/preprocess-images.md b/programming/features/preprocess-images.md index 5ac9ad56..8bff9938 100644 --- a/programming/features/preprocess-images.md +++ b/programming/features/preprocess-images.md @@ -8,7 +8,7 @@ needAutoGenerateSidebar: false # How to Preprocess Images based on Different Scenarios -The default configuration of Dynamsoft Barcode Reader (DBR) can handle most common scenarios. However, there are still some specific scenarios where the default configuration of DBR cannot locate the code area for decoding. For these specific scenarios, DBR has built-in [`GrayscaleEnhancementModes`]({{ site.dcv_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) to configure the grayscale enhancement algorithm. For different scenarios, a specific enhancement algorithm can effectively improve the success rate when detecting areas of interest. This article will detail how to choose the appropriate enhancement mode according to the scenario. +The default configuration of Dynamsoft Barcode Reader (DBR) can handle most common scenarios. However, there are still some specific scenarios where the default configuration of DBR cannot locate the code area for decoding. For these specific scenarios, DBR has built-in [`GrayscaleEnhancementModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) to configure the grayscale enhancement algorithm. For different scenarios, a specific enhancement algorithm can effectively improve the success rate when detecting areas of interest. This article will detail how to choose the appropriate enhancement mode according to the scenario. ## grayscale enhancement mode @@ -40,7 +40,7 @@ Sharpening and smoothing are used to reduce blur. The following sample image dem ## Combination of enhancement modes -If the image to be processed is more complicated, you can use the above grayscale enhancement modes in combination. After configuring multiple modes through [`GrayscaleEnhancementModes`]({{ site.dcv_parameters_reference }}image-parameter/grayscale-enhancement-modes.html), DBR will try each mode in sequence until the number of successful decoded barcodes meets the expected value (`ExpectedBarcodeCount`), or the algorithm combination is exhausted. +If the image to be processed is more complicated, you can use the above grayscale enhancement modes in combination. After configuring multiple modes through [`GrayscaleEnhancementModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html), DBR will try each mode in sequence until the number of successful decoded barcodes meets the expected value (`ExpectedBarcodeCount`), or the algorithm combination is exhausted. ## Sample Code diff --git a/programming/features/read-barcodes-with-imbalanced-colour.md b/programming/features/read-barcodes-with-imbalanced-colour.md index 6ba7ba46..cabc21a7 100644 --- a/programming/features/read-barcodes-with-imbalanced-colour.md +++ b/programming/features/read-barcodes-with-imbalanced-colour.md @@ -39,7 +39,7 @@ As we can see, the gray image converted using only red channel is much better th ## Particular Parameter Required -DBR provides a parameter [`ColourConversionModes`]({{ site.dcv_parameters_reference }}image-parameter/colour-conversion-modes.html) that allows you to control the conversion of a color image to grayscale. +DBR provides a parameter [`ColourConversionModes`]({{ site.dcvb_parameters_reference }}image-parameter/colour-conversion-modes.html) that allows you to control the conversion of a color image to grayscale. ## Sample Code diff --git a/programming/features/read-barcodes-with-small-module-size.md b/programming/features/read-barcodes-with-small-module-size.md index e9b3bd46..a349c7c4 100644 --- a/programming/features/read-barcodes-with-small-module-size.md +++ b/programming/features/read-barcodes-with-small-module-size.md @@ -20,7 +20,7 @@ In some scenarios, the barcode is very small relative to the entire image, and i ## Particular Parameter Required -Dynamsoft Barcode Reader (DBR) provides a parameter [`ScaleUpModes`]({{ site.dcv_parameters_reference }}image-parameter/scale-up-modes.html) that allows you to control the scale-up process when targets in the image are too small. +Dynamsoft Barcode Reader (DBR) provides a parameter [`ScaleUpModes`]({{ site.dcvb_parameters_reference }}image-parameter/scale-up-modes.html) that allows you to control the scale-up process when targets in the image are too small. ## Sample Code diff --git a/programming/features/read-barcodes-with-uneven-lighting.md b/programming/features/read-barcodes-with-uneven-lighting.md index d9ec6469..7c12031f 100644 --- a/programming/features/read-barcodes-with-uneven-lighting.md +++ b/programming/features/read-barcodes-with-uneven-lighting.md @@ -35,7 +35,7 @@ Obviously, the local thresholding result is much better. Now we will demonstrate ## Particular Parameter Required -DBR provides a parameter [`BinarizationModes`]({{ site.dcv_parameters_reference }}image-parameter/binarization-modes.html) that allows you to control the conversion of a grayscale image to a binary image. +DBR provides a parameter [`BinarizationModes`]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html) that allows you to control the conversion of a grayscale image to a binary image. ## Sample Code diff --git a/programming/features/read-deformed-barcodes.md b/programming/features/read-deformed-barcodes.md index 27c99eee..6f57ad3c 100644 --- a/programming/features/read-deformed-barcodes.md +++ b/programming/features/read-deformed-barcodes.md @@ -15,7 +15,7 @@ As shown below, barcodes on the surface of some flexible packaging or cylindrica

    Deformed Barcodes

    -By default, Dynamsoft Barcode Reader (DBR) may not handle such cases well. To get such images decoded, enable deformation resistance by adding `DRM_BROAD_WARP`, `DRM_LOCAL_REFERENCE` and `DRM_DEWRINKLE` to [`DeformationResistingModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html). Here is a quick breakdown of each of the modes: +By default, Dynamsoft Barcode Reader (DBR) may not handle such cases well. To get such images decoded, enable deformation resistance by adding `DRM_BROAD_WARP`, `DRM_LOCAL_REFERENCE` and `DRM_DEWRINKLE` to [`DeformationResistingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html). Here is a quick breakdown of each of the modes: * `DRM_BROAD_WARP`: Resists deformation when the barcode is warped gently. * `DRM_LOCAL_REFERENCE`: Resists deformation for barcodes with minor deformation in local modules. diff --git a/programming/features/read-images-with-lots-of-text.md b/programming/features/read-images-with-lots-of-text.md index 9b3e106b..3d532361 100644 --- a/programming/features/read-images-with-lots-of-text.md +++ b/programming/features/read-images-with-lots-of-text.md @@ -8,7 +8,7 @@ needAutoGenerateSidebar: false # How to Read Barcodes from an Image With Lots of Text -When trying to read an image where a barcode is surrounded by a large amount of irrelevant text, the presence of these characters may lead to incorrect positioning and slow down the execution speed. Dynamsoft Barcode Reader (DBR) provides parameter [`TextDetectionMode`]({{ site.dcv_parameters_reference }}image-parameter/text-detection-mode.html) and [`IfEraseTextZone`]({{ site.dcv_parameters_reference }}image-parameter/if-erase-text-zone.html) to control how to filter texts on an image. +When trying to read an image where a barcode is surrounded by a large amount of irrelevant text, the presence of these characters may lead to incorrect positioning and slow down the execution speed. Dynamsoft Barcode Reader (DBR) provides parameter [`TextDetectionMode`]({{ site.dcvb_parameters_reference }}image-parameter/text-detection-mode.html) and [`IfEraseTextZone`]({{ site.dcvb_parameters_reference }}image-parameter/if-erase-text-zone.html) to control how to filter texts on an image. ## Sample Code diff --git a/programming/features/read-images-with-texture.md b/programming/features/read-images-with-texture.md index f17a1e78..6a873bbe 100644 --- a/programming/features/read-images-with-texture.md +++ b/programming/features/read-images-with-texture.md @@ -27,7 +27,7 @@ This may extend the barcode localization time or even lead to localization error

    Figure 3 – Binarized image with texture detection enabled

    -As we can see, the binarized image with texture detection enabled is much better. Now we will demonstrate how to configure the parameter [`TextureDetectionModes`]({{ site.dcv_parameters_reference }}image-parameter/texture-detection-modes.html) to enable texture detection. +As we can see, the binarized image with texture detection enabled is much better. Now we will demonstrate how to configure the parameter [`TextureDetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/texture-detection-modes.html) to enable texture detection. ## Sample Code diff --git a/programming/features/read-incomplete-barcodes.md b/programming/features/read-incomplete-barcodes.md index d8c03531..256a644c 100644 --- a/programming/features/read-incomplete-barcodes.md +++ b/programming/features/read-incomplete-barcodes.md @@ -15,7 +15,7 @@ In some cases, barcodes may have incomplete sections due to typographical errors

    Incomplete Barcodes

    -In this case, you can enable the barcode completion logic in Dynamsoft Barcode Reader (DBR) using [`BarcodeComplementModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html). After that, DBR will attempt to complete and correct the barcode according to the structural characteristics of the corresponding barcode type. +In this case, you can enable the barcode completion logic in Dynamsoft Barcode Reader (DBR) using [`BarcodeComplementModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html). After that, DBR will attempt to complete and correct the barcode according to the structural characteristics of the corresponding barcode type. > NOTE: > diff --git a/programming/features/read-inverted-barcodes.md b/programming/features/read-inverted-barcodes.md index 81f0d4d9..227115af 100644 --- a/programming/features/read-inverted-barcodes.md +++ b/programming/features/read-inverted-barcodes.md @@ -15,7 +15,7 @@ Typically, barcodes are dark on a light background. But in some cases, the barco

    Inverted Barcodes

    -The feature to decode such inverted barcodes is not enabled by default. To control this feature, we must use the [`GrayscaleTransformationModes`]({{ site.dcv_parameters_reference }}image-parameter/grayscale-transformation-modes.html). Now for a quick breakdown of each of the modes: +The feature to decode such inverted barcodes is not enabled by default. To control this feature, we must use the [`GrayscaleTransformationModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-transformation-modes.html). Now for a quick breakdown of each of the modes: - With only `GTM_ORIGINAL` enabled in `GrayscaleTransformationModes`, DBR scans only general black-on-white barcodes. - With only `GTM_INVERTED` enabled in `GrayscaleTransformationModes`, DBR scans only inverted barcodes. diff --git a/programming/features/use-intermidiate-results.md b/programming/features/use-intermidiate-results.md index 6657c75e..8f38761e 100644 --- a/programming/features/use-intermidiate-results.md +++ b/programming/features/use-intermidiate-results.md @@ -10,7 +10,7 @@ noTitleIndex: true # How to Use Intermediate Results -Apart from getting the results like barcode type, value, location, Dynamsoft Barcode Reader (DBR) also provides APIs for you to obtain the intermediate results like original image, transformed grayscale image, binarized image, text zone, and more for further analysis. See enum [`IntermediateResultUnitType`]({{ site.dcv_enumerations }}core/intermediate-result-unit-type.html) for the full list of supported intermediate result types. All these results can be obtained from a specific callback function within the class `CIntermediateResultReceiver`. +Apart from getting the results like barcode type, value, location, Dynamsoft Barcode Reader (DBR) also provides APIs for you to obtain the intermediate results like original image, transformed grayscale image, binarized image, text zone, and more for further analysis. See enum [`IntermediateResultUnitType`]({{ site.dcvb_enumerations }}core/intermediate-result-unit-type.html) for the full list of supported intermediate result types. All these results can be obtained from a specific callback function within the class `CIntermediateResultReceiver`. **Note**: You will need a separate license to obtain the intermediate results. diff --git a/programming/features/use-region-predetection.md b/programming/features/use-region-predetection.md index 70f4fa03..b74c7e1c 100644 --- a/programming/features/use-region-predetection.md +++ b/programming/features/use-region-predetection.md @@ -8,7 +8,7 @@ needAutoGenerateSidebar: false # How To Use Region Predetection -Dynamsoft Barcode Reader (DBR) can automatically detect Region of Interest (ROI) from image. A ROI is a sub area of the image where the barcodes may exist. Enabling ROI detection helps speed up the process since the decoding will only be applied on these ROIs instead of the entire image. For example, in the case of a small barcode in a large image, the time to process the entire image is relatively slow. If the background of the image itself is not very complicated and the barcode is clear, you can enable ROI detection by configuring the parameter [`RegionPredetectionModes`]({{ site.dcv_parameters_reference }}image-parameter/region-predetection-modes.html), the time to process the small barcode area is much more faster. DBR currently supports three ROI detection modes and supports setting multiple modes at the same time. +Dynamsoft Barcode Reader (DBR) can automatically detect Region of Interest (ROI) from image. A ROI is a sub area of the image where the barcodes may exist. Enabling ROI detection helps speed up the process since the decoding will only be applied on these ROIs instead of the entire image. For example, in the case of a small barcode in a large image, the time to process the entire image is relatively slow. If the background of the image itself is not very complicated and the barcode is clear, you can enable ROI detection by configuring the parameter [`RegionPredetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html), the time to process the small barcode area is much more faster. DBR currently supports three ROI detection modes and supports setting multiple modes at the same time. ## Black & White or Gray Barcode on a Colored Background diff --git a/programming/features/use-runtimesettings-or-templates.md b/programming/features/use-runtimesettings-or-templates.md index 47df9a34..82b2f580 100644 --- a/programming/features/use-runtimesettings-or-templates.md +++ b/programming/features/use-runtimesettings-or-templates.md @@ -100,7 +100,7 @@ do { **See Also** -- `SimplifiedCaptureVisionSettings:` [C++]({{ site.dcv_cpp_api }}capture-vision-router/structs/simplified-capture-vision-settings.html) / [JavaScript](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/capture-vision-router/interfaces/simplified-capture-vision-settings.html) +- `SimplifiedCaptureVisionSettings:` [C++]({{ site.dcvb_cpp_api }}capture-vision-router/structs/simplified-capture-vision-settings.html) / [JavaScript](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/capture-vision-router/interfaces/simplified-capture-vision-settings.html) - `SimplifiedBarcodeReaderSettings:` [C++]({{ site.cpp_api }}simplified-barcode-reader-settings.html) / [JavaScript](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/interfaces/simplified-barcode-reader-settings.html) ## JSON Template diff --git a/programming/usecases/read-dpm-codes.md b/programming/usecases/read-dpm-codes.md index b7651596..fe0cb144 100644 --- a/programming/usecases/read-dpm-codes.md +++ b/programming/usecases/read-dpm-codes.md @@ -16,7 +16,7 @@ It is the process of creating permanent markings on the surface of a part to hel ## Particular Parameter Required -Dynamsoft Barcode Reader (DBR) provides a parameter, [`DPMCodeReadingModes`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html), to control how to decode DPM codes. To enable the DPM feature, simply set a `DPMCRM_GENERAL` mode to this parameter. +Dynamsoft Barcode Reader (DBR) provides a parameter, [`DPMCodeReadingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html), to control how to decode DPM codes. To enable the DPM feature, simply set a `DPMCRM_GENERAL` mode to this parameter. ## Sample Code diff --git a/programming/usecases/read-postal-codes.md b/programming/usecases/read-postal-codes.md index 766a5734..b8ed4d4c 100644 --- a/programming/usecases/read-postal-codes.md +++ b/programming/usecases/read-postal-codes.md @@ -23,7 +23,7 @@ Dynamsoft Barcode Reader (DBR) supports the following types of postal codes. Det ## Particular Parameter Required -DBR provides a parameter, [`BarcodeFormatIds`]({{ site.dcv_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html){:target="_blank"}, to control the formats of the barcode to process. To enable decoding the postal codes, simply set a `BF_POSTALCODE` or a specific postal code format enumeration to this parameter. +DBR provides a parameter, [`BarcodeFormatIds`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html){:target="_blank"}, to control the formats of the barcode to process. To enable decoding the postal codes, simply set a `BF_POSTALCODE` or a specific postal code format enumeration to this parameter. ## Sample Code