Web Demos

BARCODE READER SDK DEMO

Explore the flexibe barcode reading settings to optimize for your specific usage scenario.

WEB TWAIN SDK DEMO

Try the most popular web scanner features: scan images, import local images and PDF files, edit, save to local, upload to database, and etc.

BARCODE READER JAVASCRIPT DEMO

Transform any camera-equipped devices into real-time, browser-based barcode and QR code scanners.

MRZ SCANNER WEB DEMO

Detects the machine-readable zone of a passport, scans the text, and parses into human-readable data.

APP STORE DEMOS

BARCODE READER SDK FOR IOS

BARCODE READER SDK FOR ANDROID

VIEW MORE DEMOS >

Auto-Restores Incomplete QR Codes and Data Matrix

Auto-Restores Incomplete QR Codes and Data Matrix

Sometimes a physical barcode can be incomplete due to poor printing or damage. For QR Codes and Data Matrix codes, this can cause the finder patterns to be obscured. 

The morphology of 2D matrix codes are made up of finder patterns. These finder patterns in QR Codes consist of three identical structures that are located in all corners except the bottom right. With a Data Matrix code, this L-shaped finder pattern and the dashed borders are vital for localizing. Naturally, partially missing finder patterns cause problems for a scanner to detect matrix codes.

Dynamsoft Barcode Reader has the capability to auto-restore - or auto-complete - missing portions of a QR code or a Data Matrix code from poor printing or damage.

How Dynamsoft Barcode Reader Restores Incomplete QR Codes?

Our updated algorithm tries to complete any missing positioning information based on the FinderPattern, the TimingPattern, the Border, its size, etc.

How Incomplete QR Codes are Restored

Let’s look at the following QR code as an example:

QR code before restoring the finder pattern

In the image, the two square patterns of the QR Code at the left edge are damaged - a part of them has been cut off. In this case, the auto-restore algorithm will complete these two squares based on:

  • the information of the known square pattern in the upper right corner
  • the TimingPattern connected to the two partially missing squares

Below is how it looks after restoring the finder pattern.

QR code after restoring the finder pattern

How Dynamsoft Barcode Reader Restores Incomplete Data Matrix Codes?

When the barcode reader detects there is data missing from the L-shaped finder pattern or the dashed borders in a Data Matrix code, the completion algorithm kicks in. The first step is to determine whether there are blocks in the code area. Based on the size of the code, a Data Matrix code can consist of multiple blocks or only one block. 

How Incomplete Data Matrix Codes are Restored

(1) Large Data Matrix codes with blocks

When a Data Matrix code has more than 26 x 26 modules (more than 24 x 24 modules for data), it is divided in blocks, as seen below. Each separated block does not exceed 24 modules on a side. This structure prevents distortion of the code.

For these codes, the restoration algorithm will use the alignment pattern closest to the missing border to estimate the missing border. 

(2) Data Matrix codes without blocks

For smaller codes without blocks, the restoration algorithm will estimate the position of the missing border based on the size information of the code.

For more information, read this post on How to Read Damaged Barcodes.

Licensing

This feature is integrated into all editions of Dynamsoft Barcode Reader and requires no extra licenses. Supported editions include Windows, Linux, iOS, Android and JavaScript.

Getting Started

API documentation 

Dev guide

Try Dynamsoft Barcode Reader online demo or download a 30-day free trial. Contact us at support@dynamsoft.com for more information.

Subscribe Newsletter

Subscribe to our mailing list to get the monthly update.

Subscribename@email.com