Faster Recognition and Word Spelling Correction with Dynamsoft Label Recognizer 2.0

We have been cultivating a long-time interest in the field of optical character recognition (OCR).

Today, we are excited to announce Dynamsoft Label Recognizer 2.0, which is revolutionary to version 1.0 in its ability to detect and recognize text in images.


DLR v2.0

Highlighted Features

Dynamsoft Label Recognizer 2.0 integrates OpenCV DNN to speed up the recognition process and supports custom dictionary functionality to correct word spelling errors.

Speeding Up Inference with OpenCV DNN Module on CPU

The OpenCV DNN inference is fast on CPU. We use the OpenCV DNN module for loading pre-trained Caffe model to improve the overall performance. DLR 2.0 is 2x faster than DLR 1.0.

Example for Passport MRZ Recognition

Here is a passport image.

Passport MRZ

We use Dynamsoft Label Recognizer to get the OCR results.

Passport MRZ Recognition

The performance comparison between DLR 1.x and DLR 2.x is as follows:

VersionRecognition time
v1.2.10.785367 s
v2.0.00.391825 s

Custom Dictionary for Word Correction

The new custom dictionary functionality allows users to correct typos.

Example for Nutrition Label Recognition

Assume you have a label with some nutrition ingredients, such as “selenium, chitosan”.

The printed words are “seleniun, chitosam” in the image.

nutrition label

We use Dynamsoft Label Recognizer to get the OCR results.

OCR for nutrition label

To correct the typos, we pre-define “ selenium, chitosan” in a dictionary.txt file:


Then use the following code to load the custom dictionary:

DLR_RuntimeSettings *pSettings = new DLR_RuntimeSettings();
memcpy(pSettings->dictionaryPath, "dictionary.txt", 256);
char errorMessage[512];
dlr.UpdateRuntimeSettings(pSettings, errorMessage, 512);
delete pSettings;

Afterwards, we re-run the application. Now you can see the typos have been fixed in output results.

Key Changes

Dynamsoft Label Recognizer v2.0 includes a variety of changes.

Here are the most important changes you should understand for developing your OCR applications.

Header files

Index v1.x v2.x
1 DynamsoftCommon.h DynamsoftCore.h
2 DynamsoftLabelRecognition.h DynamsoftLabelRecognizer.h

Library files

Index v1.x v2.x
1 DynamsoftLabelRecognitionx64.dll DynamsoftLabelRecognizerx64.dll
2 DynamsoftLabelRecognitionx64.lib DynamsoftLabelRecognizerx64.lib


Index v1.x v2.x
1 class CLabelRecognition class CLabelRecognizer
3 GetAllDLRResults() GetAllResults()
4 struct DLRResult struct DLR_Result
5 FreeDLRResults() FreeResults()
6 struct DLRPoint struct DM_Point

Release Notes

Online Documentation

Sample Code

Try Online Demo

Get a 30-day FREE Trial