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.
This article is Part 5 in a 5-Part Series.
Dynamsoft Barcode Scanner SDK comes with a high decoding success rate for wrinkled or deformed QR codes. Try it with a 30-day free trial.
How Dynamsoft Barcode Reader Restores Distorted QR Codes?
Let’s see how it works with two examples.
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, an evenly spaced grid is overlaid onto the QR code, which divides the QR code into modules.
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.
In the below example, the symbol outline is a bit fuzzy, and the edges are sort of curvy. As an example, this could be from a blurry image.
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.
For more information, read this post on How to Read Damaged Barcodes.