Dev Center
Table of contents

AccuracyFirstSettings Sample

The Accuracy-First setting sample illustrates how to use DBR APIs to improve the barcode reading accuracy. Normally the barcode misreading is caused by decoding the terribly printed barcodes or blurry images. On this page, you can find the guides on how to deal with these issues to avoid misreading when using Dynamsoft Barcode Reader.

View the sample

Regular Accuracy Settings

Normally, the misreading is caused by the low-quality source. The low-quality source can be terribly printed barcodes or blurry images/frames. These low-quality barcodes can be recognized and localized. However, the barcode reader will take a lot of time to further process these barcodes and it is difficult to guarantee the accuracy of the results. It would be better to optimize the barcode source rather than try decoding on these low-quality barcodes.

Frame Filter

Generally, the quality of input video streaming is determined by the performance of hardware. However, we still have solutions to deal with the blurry frames in the video streaming from the software end. Dynamsoft Camera Enhancer (DCE) is an SDK that provides video streaming pre-processing APIs which enable users to avoid decoding barcodes on low-quality frames. By enabling the frame filter feature of DCE, the sharpness of each frame will be detected and the low sharpness frames will be skipped in the barcode decoding process.


For every barcode result output by DBR, it has a confidence value. The higher the confidence is, the more possible it is to be correct. Currently, the barcode reader will always output the barcode result with the highest confidence and the confidence filter is enabled as well. The default value of the confidence filter is 30, which means the result with lower confidence will not be output.

Related APIs


Multi-frame Confirmation

The multi-frame confirmation is a solution that eliminates misreading on oneD barcodes by double-checking the barcode results between multiple video frames before the results are output. Since this feature will halve the average reading speed, please enable this feature when the misreading is intolerable.

Advanced Accuracy Settings

Specify the Barcode Format

Barcode format is one of the most typical settings of a barcode reader. This will help you to improve the speed and accuracy of your barcode reading program by excluding the uninterested formats. You can update the barcode format settings in the struct/class PublicRuntimeSettings via API updateRuntimeSettings.

Related APIs

Skip Small-Sized Barcodes

It is always a harsh task for a generally configured barcode reader to recognize a small-sized barcode. The read rate of small-sized barcodes can be improved by configuring the mode parameters. However, the accuracy issue is still unresolved. As a result, when sacrificing the read rate on the small-sized barcodes is acceptable, you can make filters on the localized barcode to skip decoding on these non-interest barcodes. To make the small-sized barcode filter, FormatSpecification parameters BarcodeHeightRangeArray and BarcodeWidthRangeArray will help on defining the range of the barcode size. In addition, by configuring the above parameters, you can also filter out the incompatible shaped barcodes before decoding.

Related APIs

Exclude the Non-interest Results

For some scenarios, there might have some common features that can be applied to verify the correctness of the barcode result texts.

The Text Length

Set the minimum and maximum length of the barcode text to filter out the uninterested results. This feature can be configured via FormatSpecification parameter BarcodeTextLengthRangeArray.

The Regular Expression Pattern

Set the regular expression pattern of the barcode text to filter out the uninsterested results. This feature can be configured via FormatSpecification parameter BarcodeTextRegExPattern.

This page is compatible for:

Version 7.5.0

Is this page helpful?

YesYes NoNo

In this article:

latest version

    • Latest version (10.2.10)
    • Version 10.x
      • Version 10.0.21
      • Version 10.0.20
    • Version 9.x
      • Version 9.6.40
      • Version 9.6.20
      • Version 9.6.11
      • Version 9.6.10
      • Version 9.6.0
      • Version 9.4.0
      • Version 9.2.13
      • Version 9.2.11
      • Version 9.2.10
      • Version 9.0.2
      • Version 9.0.1
      • Version 9.0.0
    • Version 8.x
      • Version 8.9.3
      • Version 8.9.1
      • Version 8.9.0
      • Version 8.8.0
      • Version 8.6.0
      • Version 8.4.0
      • Version 8.2.1
      • Version 8.2.0
      • Version 8.1.2
      • Version 8.1.0
      • Version 8.0.0
    • Version 7.x
      • Version 7.6.0
      • Version 7.5.0
    Change +