License plate recognition software with Source C++

Recognition of license plates is being developed very popular and popular at the moment. Understanding that need, today I share the software and source code collected from thigiacmaytinh.com supports license plate recognition.

This is a software to recognize Vietnamese motorbike license plates, automatically recognized by webcam or recognized from photos. Mainly introduce you to a new algorithm besides many other algorithms in this field.

1. Principle of operation with ordinary Camera

  1. First, you need to call the API to capture the current image of the camera
  2. The software will rely on the captured image, to distinguish characters and return the number plate result< /li>

Note:

  • You can use a Camera with a multifocal lens such as: KX-D2008PN, KX-CAi4205MN, … for the clearest picture.
  • Good lighting environment, suitable mounting angle to clearly see the license plate.
  • Source code is written in C++

2. Algorithm

The projects are mainly built with Visual Studio, we have the Visual Studio recommended version. However, will try to take the time to upgrade to the latest version.

The source code in it is as basic as possible to learn, you need to re-code it to fit your needs. You need to fix the interface, re-train to increase accuracy.

Need high accuracy you can buy commercial version at: https://viscomsolution.com/ipss-phan-mem-doc-bien-so-xe-may/

Includes 4 steps as above to detect license plate

Step 1: Number plate locator, also known as license plate detection: find a rectangular frame consisting of (x, y, width, height) enclosing the number plate in the image. If found, crop the number plate to process the next step, the result of this step is a cropped number plate image. This step uses algorithm LBP cascade

Use Haar cascade to learn the features of a number plate, then crop the number plate. However, this step is not very accurate

Step 2: Character locating, also known as finding the position of the character on the cropped number plate. The result of this step is the black characters, then resize them all to the same size. This step uses the algorithm Floodfill

Also use Haar cascade to find characters in cropped number plates

Step 3: Character recognition using Machine Learning algorithms, in this case SVM to classify characters

Finally, use SVM to recognize characters

Step 4: Sort recognition results and display characters according to motorcycle license plate format

3. Fix the error of not being able to build

When you get an error like the image below, you need to reinstall Visual Studio.

The image below uses Visual Studio 2019, you check C++/CLI support… then install it

4. Download the source code

Download the source code here: https://mega.nz/file /KIx0gJpD#rzxCsfzBPwl3mbSSbQen7d5X0nj1_ki7pg_KBzWjGiE

Finally, use SVM to recognize characters

Step 4: Sort recognition results and display characters according to motorcycle license plate format

3. Fix the error of not being able to build

When you get an error like the image below, you need to reinstall Visual Studio.

The image below uses Visual Studio 2019, you check C++/CLI support… then install it

4. Download the source code

Download the source code here: https://mega.nz/file /KIx0gJpD#rzxCsfzBPwl3mbSSbQen7d5X0nj1_ki7pg_KBzWjGiE

The article is referenced from: https://thigiacmaytinh.com/