Number Plate Recognition API for Low-Power Embedded SoC Boards

Published  August 23, 2024   0
Number Plate Recognition API

Today, we are going to take a look at another Circuit Digest cloud API that can perform number plate recognition. Using this Number Plate Recognition API, we can now recognize vehicle license number plates with ease. So, in this article, we will learn about this new Number Plate Recognition API.

Number Plate Recognition API

The Number Plate Recognition API is easy to understand and simple to integrate into various projects. It eliminates the need for complex image processing and machine learning on the user’s end, making it accessible even for microcontrollers with low processing power. By simply capturing an image and sending it to the cloud, the API handles all the backend processing and returns the recognized text. This simplicity allows developers to focus on building their application without worrying about the complicated details of OCR technology. Whether for vehicle identification, security, or automation, this API offers a quick and efficient solution for number plate recognition tasks.

Disclaimer: At the time of writing this article our cloud platform is functional but yet to have some cosmetic updates. We intend to build it with time and add more functionalities

Authentication and Authorization

To use this free Number Plate Recognition API or Any other API Available on circuitdigest.cloud you need to have the API Key. So, let's first Create the API KEY.

Logging in to the Circuit Digest Cloud

Process of Signing into Circuit Digest Cloud Account

Step 1: Visit the Circuit Digest Cloud Home Page. Click the "Login" button located at the top right corner to be redirected to the login page.

Step 2: If you already have an account, log in using your existing credentials. If not, go to the registration page to create an account by filling in the required details. Once completed, click "Register Now" to sign up.

Step 3: After registering, use your email ID and password to log in on the login page.

Generating the API Key

Process of Generating API Key

Step 4: Once logged in, click on "My Account" at the top right corner.

Step 5: You will be directed to a page where you can generate your API Key. Enter the captcha text in the provided box, then click the "Submit" button.

Step 6: If the captcha is correct, you'll see a table displaying your API Key along with its expiration date and usage count. Currently, there is a limit of 50 uses per key. Once you reach this limit, you can generate another key, giving you an additional 50 uses. This usage limit is in place to prevent server overload.

Number Plate Recognition API Details

The API can be easily used with Arduino code snippets to capture a Number Plate image and send it to the server using API for processing. The Server recognizes the Number Plate and returns a response in JSON format. 

Server Name: www.circuitdigest.cloud
Server Path: /readnumberplate
Server Port: 443
Method: POST
Authorization: Authorization: apikey (replace apikey with actual API key)
Content-Type: multipart/form-data; boundary=CircuitDigest
Request Body: The captured image data sent as JPEG file. Filename of image should be same as API key

Response: The server API should return a JSON response containing the decoded information from the Number Plate.

Note: Sample Arduino code for ESP32-CAM and other development boards can be found at the bottom of this page. 

Server API Response

Below is a sample response from the Server API. The top section displays two images: the left image is the raw photo captured by the ESP32-CAM, and the right image shows the result after the recognition process. The bottom section presents the data returned by the API call.

Server API Response

In the image, under the JSON Response, you can find the result in the “number_plate” field, which is “TN 16D1129”.

If you wish to view the uploaded image, you can access it via the link provided in the “view_image” object in the JSON string.

Image Loaded in the JSON Response String

The image above clearly shows the image loaded in the browser using the link from the JSON response string. This link acts as a static storage location, so no matter how many times you upload data, only the most recent data will be stored on the server, and the view link will remain unchanged.

Please note that the recognition process is done for only one number plate at a time. If multiple number plates are present, a random one will be selected for recognition. Additionally, the image should not be completely upside down; a slight tilt is acceptable. Refer to the image below for better understanding.

Valid and Invalid Data Inputs

With all these considerations, please do not judge the API harshly, as it will continue to improve over time. If you have any queries or comments, leave them below. We will respond as soon as possible.

Code Examples

The API has been tested with the ESP32-CAM but can be used with any development boards capable of taking an image and sending it to a web server. We will provide links to all the tutorials using this API, complete with code and circuit diagrams, as usual.

  • License Plate Recognition using ESP32-CAM [Will be linked soon]

Create and Share:

We hope this will be useful for quickly testing and deploying your ideas. If you build something using the API, please share it with us, and we will mention your work on this page. Happy building!

Have any question realated to this Article?

Ask Our Community Members