Table of contents

How to Read Barcodes with Small Module Size

A module is the narrowest “bar” in a 1D barcode, or the smallest “box” in a 2D barcode. Keep in mind this “bar” or “box” can be either light or dark. The figure below illustrates the module size of 1D and 2D barcodes.

Module size of barcodes

Figure 1 – Module size of 1D and 2D barcodes

In some scenarios, the barcode is very small relative to the entire image, and its module size is even smaller, making it difficult for the library to read the barcode. In this case, we can use the parameter ScaleUpModes in to enlarge the barcode symbol for easier processing.

Particular Parameter Required

Dynamsoft Barcode Reader (DBR) provides a parameter ScaleUpModes that allows you to control the scale-up process when targets in the image are too small.

Example

Below is an example illustrating how to configure the parameter ScaleUpModes.

  • Update parameter ScaleUpModes in your JSON template

      {
          "CaptureVisionTemplates": [
              {
                  "Name": "CV_0",
                  "ImageROIProcessingNameArray": ["TA_0" ]
              }       
          ],
          "TargetROIDefOptions" : [
              {
                  "Name": "TA_0",
                  "TaskSettingNameArray": [ "BR_0" ]
              }
          ],
          "BarcodeReaderTaskSettingOptions": [
              {
                  "Name" : "BR_0",
                  "SectionImageParameterArray": [
                      {
                          "Section": "ST_REGION_PREDETECTION",
                          "ImageParameterName": "IP_0"
                      },
                      {
                          "Section": "ST_BARCODE_LOCALIZATION",
                          "ImageParameterName": "IP_0"
                      },
                      {
                          "Section": "ST_BARCODE_DECODING",
                          "ImageParameterName": "IP_0"
                      }
                  ]
              }
          ],
          "ImageParameterOptions": [
              {
                  "Name": "IP_0",
                  "ScaleUpModes": [
                      {
                          "Mode": "SUM_LINEAR_INTERPOLATION",
                          "AcuteAngleWithXThreshold": 0,
                          "ModuleSizeThreshold": 3,
                          "TargetModuleSize": 8
                      }
                  ]
              }
          ]
      }
    
  • Apply the above settings following the article Use Templates for Configuring Parameters.

This page is compatible for:

Is this page helpful?

YesYes NoNo