Git Product home page Git Product logo

numberplatelocalization's Introduction

NumberPlateLocalization

A high recall Number Plate Detector System in Python and OpenCV

Using Image Processing techniques with the help of Numpy and OpenCV libraries in Python, NumberPlateLocalization is a high recall Number Plate Detector in images of cars.

Usage:

For using NumberPlateLocalization through the Console, use the following command.

python NumberPlateLocalization.py [options]

Available Options:

The available options are as follows:

  1. Mode:

The Mode option is used to specify whether you want to write the output images of the application to a folder named FinalOutput. The default mode is None. To write output images to the HDD, use Write Mode by using --write.

  1. Show Steps:

The Show Steps option is used to show the intermediate steps of the Detector, i.e. the output images of the preprocessing logic of the application. The default mode is False. To show the intermediate steps, use Show Steps Mode by setting the showsteps flag like so: --showsteps

  1. All Images:

This is a default option of the Detector application, although it can be used explicitly for code clarity while direct usage in other codebases. Usage: --all.

  1. Single Image:

The Single Image option is used to specify a single image for the Detector to work on. The required argument for this option is the Image Name(specified along with extension) immediately following the --single flag. There must be an image of the provided name in the Dataset folder. Example usage is like so: --single FILENAME

  1. Multi Image:

The Multi Image option is used to specify a number of images from the Dataset on which the Detector will work. The required argument is a number following the --multi flag. For a valid number n, the Detector uses the first n images from the dataset. If the number specified exceeds the total images in the Dataset, the Detector defaults to the All Images option. Usage: --multi NUMBER

The options can be used in conjunction to create various combinations. Some examples below:

  • Detecting the plates of the first 10 images, and writing the output images to HDD:

python NumberPlateLocalization.py --multi 10 --write

  • Detecting the plate from an image named 21.png and showing the intermediate steps, and writing the output to HDD:

python NumberPlateLocalization.py --single 21.png --showsteps --write

Results:

The Detector works with fairly accurate results for most of the images in the dataset. Some results are as follows:

Success Image 1 Success Image 2 Success Image 3

However, the Detector fails for some images showing false positives or concave polygons over the Number Plate region.

Failure Image 1 Failure Image 1

The Detector results can be improved by using certain Machine Learning optimizations to choose the value of Epsilon for Polygon Approximation, applying a threshold for the Number of White Pixels per total pixels in the area of the detected contour etc.

numberplatelocalization's People

Contributors

saketk21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.