Realtime License Plate Detection Application

Our project is a simple system which is able to detect car licenses plates and enable to add later a module for the recognition of the numbers of the plate.

Abstract

Our project is a simple system which is able to detect car licenses plates and enable to add later a module for the recognition of the numbers of the plate.
The system works in Real Time based on GUI (graphical user interface).
Our system was developed for a specified goal –> the parking lot of the Electrical Engineering Department of the Technion.
We handle the situation with color video which we get from a camera that is spotted at the entrance of the EE parking lot.
The problem
In our project we had to take care of tasks in different fields: Image acquisition, Image Processing, Computer Vision, Programming tasks
First, we had at to choose between using B&W and color video.
Second, we had to find the gate situation (open\close).
Third, finding the license plate on the programming area we had to find how to combine our programming skills with area that we had to handle for first time (vision research).
The solution

At first we built the basic GUI. Then we started developing basic tools which handle each problem.

Handling our First Problem

Israeli license plates are usually black digits on yellow background. Taking into account our video sampling hardware was of rather basic quality, we decided to use the color information in order to extract more data from each video frame.

Solving Second Problem

Gate situation problem (open\close) was solved by getting specified coordinates of gate by grayscale and comparing it with known database (basic frame) .

Solving Third Problem

License plate recognition was solved by :

a. Getting a frame

b. Getting part of frame which we know (empirically) that the license is there.

c. RGB Thresholding (finding yellow)

d. Transferring image to b/w

e. Passing over frame with special function (which finds big area by labeling)

f. Getting our image coordinates of license plate.

g. Show final image.

Here’s a small picture that will emphasize the process.

1

Remark : the left-bottom picture shows what happen after a function that was removed on the last stage of the project cause it is not necessary for finding coordinates.

2

 

Software

The Project was written under the Windows XP operating system.

We have programmed on Visual C.Net environment by using C/C++ programming language . In addition we have used VideoOCX which is an add-on kit for C++ vision research. (Active X)

For basic research we have also checked our system via MatLab. (which the picture above is taken from)

 

Hardware

The project system is comprised of a PC equipped with a Capture board and video camera which is located above the entrance of the EE faculty parking lot.

We have also used PC, special hardware (scanner, camera, webcam, TV, video)

 

Conclusions

At first, we have tried to analyze the video by b/w camera, one conclusion was that it’s quite difficult to recognize the license plate because of lightening levels.

Another problem was to sample basic image for high percent of success,
so we have added a button for manual sampling of basic image.

Our project doesn’t function in 100%, but it works quite good.

For further development,  We suggest to :

  1. Handle more effacingly memory timing processes so our system will run better
    parallel. (it is Real Time application so it takes a lot of system resources)
  2. Try to build Learning machine which will detect and sample basic frame
    automatically
  3. Try to recognize any license plate (military, foreign). (so it can be used world wide)

Acknowledgment

We are grateful to our project supervisor Johanan Erez (Head Engineer of VISL Lab) for his help and guidance throughout our work, Ina Krinsky and Aaron Yakoby.
We are also grateful to the Ollendorf Minerva Center Fund for supporting this project.