Dynamsoft Barcode Reader Optimizes Decoding for Crumpled QR Codes

Jan 02, 2020
Dynamsoft Barcode Reader Optimizes Decoding for Crumpled QR Codes

In retail, crumpled QR codes are common on plastic packaging or cylinder containers, for example. Wrinkled codes are also common with paper receipts or tickets. Deskewing a crumpled QR code can sometimes diminish the quality of the image, which in turn reduces the barcode recognition accuracy. But, Dynamsoft Barcode Reader uses pre-processing features to auto-deskew barcodes while maximizing their recognition accuracy.

With Dynamsoft Barcode Reader v7.3, we have improved the decoding success rate for wrinkled or deformed QR codes.

Try Dynamsoft’s barcode SDK with a 30-day free trial.

Start your Free 30-Day Trial

How Distorted QR Codes are Restored

Let’s see how it works with two examples.

Example 1

In Figure 1.1 below on the left, we see a QR code with clear symbol outlines. When a scan is initiated, the barcode reader scans the entire height and width of an image to attempt to identify whether a barcode is present. The barcode reader extracts and exploits various features from the image, to help partition the code area into modules with a grid. The contour lines are connected, as shown in Figure 1.2 below on the right.

Figure 1.1

Figure 1.2

QR code features, such as the FinderPattern, TimingPattern, and AlignPattern, are used to reduce errors in the process of contour line connection. Based on the grid, each symbol is perspective-transformed onto the standard map to obtain a corrected QR code, as shown below in Figure 1.3. The barcode reader then begins the decoding process.

Figure 1.3

Example 2

In below example, the symbol outline is a bit fuzzy, and the edges are sort of curvely. As an example, this could be from a blurry image.

Figure 2.1

So the first step is to fit the four edges with arc curves, as shown in Figure 2.2. Then Dynamsoft Barcode Reader’s perspective-transforms the segmentation block along the curve to get the four-sided straightened QR code, as shown in Figure 2.3.

Figure 2.2

Figure 2.3

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


These capabilities are 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.

Subscribe Newsletter

Subscribe to our mailing list to get the monthly update.