Deep learning based Automatic License Plate Recognition API
Switch branches/tags
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Oct 18, 2018
assets Add demo image Sep 23, 2018
LICENSE Create LICENSE Sep 11, 2018 Add demo image Sep 23, 2018 Add script to read license plates from a video file. Closes #1 Sep 11, 2018 Open image with mode rb Nov 24, 2018

Automatic License Plate Recognition API

Accurate, fast and easy to use API for license plate recognition. Trained on data from over 100 countries and regions around the world. The core of our license plate detection system is based on state of the art deep neural networks architectures.

Integrate with our ALPR API in a few lines of code. Get an easy to use JSON response with the number plate value of vehicles and the bounding boxes.

Getting started

Get your API key from Plate recognizer. Replace MY_API_KEY with your API key and run the following command:

pip install requests
python --api MY_API_KEY /path/to/vehicle.jpg

The result includes the bounding boxes (rectangle around object) and the plate value for each plate. The JSON output can easily be consumed by your application.

    "version": 1,
    "results": [
        "box": {
          "xmin": 85,
          "ymin": 85,
          "ymax": 211,
          "xmax": 331
        "plate": "ABC123",
        "score": 0.904,
        "dscore": 0.92
    "filename": "car.jpg"

Batch mode

You can also run the license plate reader on many files at once. To run the script on all the images of a directory, use:

python --api MY_API_KEY "/path/to/car-*.jpg"

Number plate recognition on a video

To do ANPR on videos, you will also need to install OpenCV. Here are the installation instructions. Those 2 python packages are also needed:

pip install requests
pip install pillow

The script lets you perform license plate recognition on a video file. It looks at each frame of the video and reads license plates. If you are only interested in one part of the video, you may use the --start and --end arguments. Additionally, you can use the --skip argument to read 1 in every N frames. It will speed up the analysis of large videos. Here's an example:

python --api MY_API_KEY --start 900 --end 2000 --skip 3 /path/to/cars.mp4

OpenCV is also capable of reading live video streams. See this page for an example.